/// <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);
    }