private void Start() { plane = new Plane(Vector3.up, Vector3.up * planeY); // ground plane initialTowerPosition = gameObject.transform.position; oldTowerPosition = initialTowerPosition; initialTowerRotation = pivotTransform.rotation; checkLineRenderer = GetComponent <LineRenderer>(); towerFiring = GetComponent <TowerFiring>(); }
private void MoveExistingTower(Waypoint newWaypoint) { TowerFiring oldestTower = towerQueue.Dequeue(); oldestTower.waypointTowerIsOn.isPlacable = true; oldestTower.transform.position = newWaypoint.transform.position; oldestTower.waypointTowerIsOn = newWaypoint; newWaypoint.isPlacable = false; towerQueue.Enqueue(oldestTower); }
public void AddTower(Waypoint newWaypoint) { if (towerQueue.Count < towerLimit) { TowerFiring newTower = Instantiate(towerPrefab, newWaypoint.transform.position, Quaternion.identity, FindObjectOfType <Towers>().transform); newTower.waypointTowerIsOn = newWaypoint; towerQueue.Enqueue(newTower); newWaypoint.isPlacable = false; } else { MoveExistingTower(newWaypoint); } }