/// <summary> /// проверяет возможность размещения объекта и также меняет цвет объекта в зависимости - можно или нет размещать объект в текущей позиции /// </summary> public bool PlacementIsAvailable() { if (!_placingMode) { Debug.LogError("Placing mode not enabled"); } bool isAvailable = true; if (PlaceableObjectGrid.CurrentCollisionAmount > 0) { isAvailable = false; } else { Node[] nodes = PlaceableObjectGrid.FindNodes(); foreach (Node node in nodes) { if (node.tags == (int)GridTags.Buildings || !node.walkable) { isAvailable = false; break; } } } if (_materialChanger != null) { if (isAvailable) { _materialChanger.SetAsAvailable(); } else { _materialChanger.SetAsBanned(2.0f); } } return(isAvailable); }