From f39dcb6e9a28da36e153c43822aeca607fc234d4 Mon Sep 17 00:00:00 2001 From: kittyegg Date: Mon, 11 May 2026 23:19:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B4=D0=B5=D1=82=D0=B5=D0=BA=D1=82=20=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/BlockDetector.cs | 2 +- Assets/Scripts/BlockSelector.cs | 4 ++++ Assets/Scripts/SandPathBuildService.cs | 3 ++- Assets/Scripts/TurretsShop.cs | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) 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;