mirror of
https://github.com/ryzij/Cube-Tower-Defense.git
synced 2026-07-14 01:56:57 +00:00
Исправлен детект блоков
This commit is contained in:
@@ -48,7 +48,7 @@ public class BlockDetector : MonoBehaviour
|
|||||||
private BlockScript DetectBlockOnPosition(Vector2 position)
|
private BlockScript DetectBlockOnPosition(Vector2 position)
|
||||||
{
|
{
|
||||||
var ray = Camera.main.ScreenPointToRay(position);
|
var ray = Camera.main.ScreenPointToRay(position);
|
||||||
if (Physics.Raycast(ray, out var hit) && hit.transform.CompareTag("GrassBlock"))
|
if (Physics.Raycast(ray, out var hit))
|
||||||
return hit.transform.GetComponent<BlockScript>();
|
return hit.transform.GetComponent<BlockScript>();
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ public class BlockSelector : MonoBehaviour
|
|||||||
{
|
{
|
||||||
[SerializeField] private BlockDetector _blockDetector;
|
[SerializeField] private BlockDetector _blockDetector;
|
||||||
[SerializeField] private Material _selectedMaterial;
|
[SerializeField] private Material _selectedMaterial;
|
||||||
|
[SerializeField] private bool _isGrassOnly = true;
|
||||||
|
|
||||||
private Renderer _selectedBlockRenderer;
|
private Renderer _selectedBlockRenderer;
|
||||||
private Material _oldMaterial;
|
private Material _oldMaterial;
|
||||||
@@ -26,6 +27,9 @@ public class BlockSelector : MonoBehaviour
|
|||||||
|
|
||||||
private void OnBlockDetected(BlockScript block)
|
private void OnBlockDetected(BlockScript block)
|
||||||
{
|
{
|
||||||
|
if (_isGrassOnly && !block.CompareTag("GrassBlock"))
|
||||||
|
return;
|
||||||
|
|
||||||
if (_selectedBlockRenderer != null)
|
if (_selectedBlockRenderer != null)
|
||||||
_selectedBlockRenderer.material = _oldMaterial;
|
_selectedBlockRenderer.material = _oldMaterial;
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,8 @@ public class SandPathBuildService : MonoBehaviour
|
|||||||
{
|
{
|
||||||
if (_gameManager.CurrentState != GameManager.GameState.BuildingPath)
|
if (_gameManager.CurrentState != GameManager.GameState.BuildingPath)
|
||||||
return;
|
return;
|
||||||
if (!_currentBlock.GetNeighbors().Contains(block) ||
|
if (!block.CompareTag("GrassBlock") ||
|
||||||
|
!_currentBlock.GetNeighbors().Contains(block) ||
|
||||||
block.GetNeighbors().Count((o) => o.Type == BlockScript.BlockType.Sand) > 1)
|
block.GetNeighbors().Count((o) => o.Type == BlockScript.BlockType.Sand) > 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ public class TurretsShop : MonoBehaviour
|
|||||||
|
|
||||||
private void OnBlockClicked(BlockScript block)
|
private void OnBlockClicked(BlockScript block)
|
||||||
{
|
{
|
||||||
if (!_isTurretSelected || _selectedTurret.Price > _wallet.Money)
|
if (!block.CompareTag("GrassBlock") || !_isTurretSelected || _selectedTurret.Price > _wallet.Money)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var pos = block.transform.position;
|
var pos = block.transform.position;
|
||||||
|
|||||||
Reference in New Issue
Block a user