public void Tick() { if (m_Grid.HasSelectedNode() && Input.GetMouseButtonDown(0)) { Node selectedNode = m_Grid.GetSelectedNode(); bool canOccupy = false; m_Grid.TryOccupyNode(selectedNode, ref canOccupy); if (!canOccupy) { return; } TurretAsset asset = m_Market.ChosenTurret; if (asset != null) { m_Market.BuyTurret(asset); SpawnTurret(asset, selectedNode); m_Grid.UpdatePathFinding(); } else { Debug.Log("Not enough money"); } } }
private void SpawnTurret(TurretAsset asset, Vector2Int coordinate, Node selectedNode) { TurretView view = Object.Instantiate(asset.ViewPrefab); TurretData data = new TurretData(asset, selectedNode); data.AttachView(view); Game.Player.TurretSpawned(data); if (!m_Grid.TryOccupyNode(coordinate, true)) { Debug.Log("Something has gone wrong"); } m_Grid.UpdatePathFinding(); }