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"); } } }
public void Tick() { if (!m_Grid.HasSelectedNode() || !Input.GetMouseButtonDown(0)) { return; } Node selectedNode = m_Grid.GetSelectedNode(); Vector2Int selectedNodeCoordinate = m_Grid.GetSelectedNodeCoordinate(); if (selectedNode.IsOccupied || !m_Grid.CanOccupyNode(selectedNodeCoordinate)) { return; } TurretAsset asset = m_Market.ChosenTurret; if (asset != null) { m_Market.BuyTurret(asset); SpawnTurret(asset, selectedNodeCoordinate, selectedNode); } else { Debug.Log("Not enough money!"); } }
public void Tick() { if (m_Grid.HasSelectedNode() && Input.GetMouseButtonDown(0)) { Node selectedNode = m_Grid.GetSelectedNode(); if (selectedNode.IsOccupied || !m_Grid.CanOccupy(selectedNode)) { return; } SpawnTurret(m_Market.ChosenTurret, selectedNode); } }
public void Tick() { if (m_Grid.HasSelectedNode() && Input.GetMouseButtonDown(0)) { Node selectedNode = m_Grid.GetSelectedNode(); if (selectedNode.IsOccupied /* || !m_Grid.CanOccupy(selectedNode)*/) // TODO think of implementing; problem - CanOccupy gets Vector2Int { return; } //SpawnDesk(Game.s_Runner.InitDeskAsset, selectedNode); } }
public void Tick() { if (m_Grid.HasSelectedNode() && Input.GetMouseButtonDown(0)) { Node selectedNode = m_Grid.GetSelectedNode(); if (selectedNode.IsOccupied /* || !m_Grid.CanOccupy(selectedNode)*/) // TODO think of implementing; problem - CanOccupy gets Vector2Int { return; } SpawnTurret(m_Market.ChosenTurret, selectedNode); } }
public void Tick() { if (m_Grid.HasSelectedNode() && Input.GetMouseButtonDown(0)) { TurretAsset asset = m_Market.ChosenTurret; if (asset != null) { Node selectedNode = m_Grid.GetSelectedNode(); TrySpawnTurret(asset, selectedNode); } else { Debug.Log("Not enough money!"); } } }
public void Tick() { if (m_Grid.HasSelectedNode() && Input.GetMouseButtonDown(0)) { Node selectedNode = m_Grid.GetSelectedNode(); if (selectedNode.IsOccupied /* || !m_Grid.CanOccupy(selectedNode)*/) { return; } TurretAsset asset = m_Market.ChosenTurret; if (asset != null) { m_Market.BuyTurret(asset); SpawnTurret(asset, selectedNode); } else { Debug.Log("Not enough money!"); } } }
private void OnDrawGizmos() { Gizmos.color = Color.red; Vector3 xShift = new Vector3(m_NodeSize, 0, 0); Vector3 zShift = new Vector3(0, 0, m_NodeSize); Vector3 pos1 = m_Offset + xShift; Vector3 pos2 = pos1 + new Vector3(0, 0, m_GridHeight * m_NodeSize); for (int i = 0; i < m_GridWidth - 1; ++i) { Gizmos.DrawLine(pos1, pos2); pos1 += xShift; pos2 += xShift; } pos1 = m_Offset + zShift; pos2 = pos1 + new Vector3(m_GridWidth * m_NodeSize, 0, 0); for (int i = 0; i < m_GridHeight - 1; i++) { Gizmos.DrawLine(pos1, pos2); pos1 += zShift; pos2 += zShift; } Gizmos.DrawSphere(m_Offset, 1f); if (m_Grid == null) { return; } // foreach (Node node in m_Grid.EnumerateAllNodes()) { // if (node.NextNode == null) { // continue; // } // // if (node.IsOccupied) { // Gizmos.color = Color.black; // Gizmos.DrawSphere(node.Position, 0.5f); // continue; // } // // switch (node.Availability) { // case OccupationAvailability.CanOccupy: // Gizmos.color = Color.green; // Gizmos.DrawSphere(node.Position, 0.4f); // break; // case OccupationAvailability.CanNotOccupy: // Gizmos.color = Color.red; // Gizmos.DrawSphere(node.Position, 0.4f); // break; // case OccupationAvailability.Undefined: // Gizmos.color = Color.gray; // Gizmos.DrawSphere(node.Position, 0.4f); // break; // default: // throw new ArgumentOutOfRangeException(); // } // // Gizmos.color = Color.red; // Vector3 start = node.Position; // Vector3 end = node.NextNode.Position; // Vector3 dir = end - start; // start -= dir * 0.25f; // end -= dir * 0.75f; // Gizmos.DrawLine(start, end); // Gizmos.DrawSphere(end, 0.1f); // } Node selectedNode = m_Grid.GetSelectedNode(); if (selectedNode == null) { return; } Gizmos.DrawSphere(selectedNode.Position, 10f); var nodesInRange = m_Grid.GetNodesInCircle(selectedNode.Position, 10f); Gizmos.color = Color.blue; foreach (Node node in nodesInRange) { Gizmos.DrawSphere(node.Position, 0.2f); } }