diff --git a/Assets/Scripts/BlockDetector.cs b/Assets/Scripts/BlockDetector.cs index 8ebe103..4c8d875 100644 --- a/Assets/Scripts/BlockDetector.cs +++ b/Assets/Scripts/BlockDetector.cs @@ -48,7 +48,7 @@ public class BlockDetector : MonoBehaviour private BlockScript DetectBlockOnPosition(Vector2 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(); return null; diff --git a/Assets/Scripts/BlockSelector.cs b/Assets/Scripts/BlockSelector.cs index e5329b5..d6b7efd 100644 --- a/Assets/Scripts/BlockSelector.cs +++ b/Assets/Scripts/BlockSelector.cs @@ -4,6 +4,7 @@ public class BlockSelector : MonoBehaviour { [SerializeField] private BlockDetector _blockDetector; [SerializeField] private Material _selectedMaterial; + [SerializeField] private bool _isGrassOnly = true; private Renderer _selectedBlockRenderer; private Material _oldMaterial; @@ -26,6 +27,9 @@ public class BlockSelector : MonoBehaviour private void OnBlockDetected(BlockScript block) { + if (_isGrassOnly && !block.CompareTag("GrassBlock")) + return; + if (_selectedBlockRenderer != null) _selectedBlockRenderer.material = _oldMaterial; diff --git a/Assets/Scripts/SandPathBuildService.cs b/Assets/Scripts/SandPathBuildService.cs index 81b90a8..10c2693 100644 --- a/Assets/Scripts/SandPathBuildService.cs +++ b/Assets/Scripts/SandPathBuildService.cs @@ -72,7 +72,8 @@ public class SandPathBuildService : MonoBehaviour { if (_gameManager.CurrentState != GameManager.GameState.BuildingPath) return; - if (!_currentBlock.GetNeighbors().Contains(block) || + if (!block.CompareTag("GrassBlock") || + !_currentBlock.GetNeighbors().Contains(block) || block.GetNeighbors().Count((o) => o.Type == BlockScript.BlockType.Sand) > 1) return; diff --git a/Assets/Scripts/TurretsShop.cs b/Assets/Scripts/TurretsShop.cs index b39ba66..fdbc165 100644 --- a/Assets/Scripts/TurretsShop.cs +++ b/Assets/Scripts/TurretsShop.cs @@ -71,7 +71,7 @@ public class TurretsShop : MonoBehaviour private void OnBlockClicked(BlockScript block) { - if (!_isTurretSelected || _selectedTurret.Price > _wallet.Money) + if (!block.CompareTag("GrassBlock") || !_isTurretSelected || _selectedTurret.Price > _wallet.Money) return; var pos = block.transform.position;