// create a new tower at selected position public bool CreateTower(HexCoord position, int playerNumber) { if (!HexBoard.IsPositionOnBoard(position) // check borders || IsTowerAt(position) // check if tower does not already exists, before creating new tower || NumStartedShootings > 0) return false; GameObject newTower = (GameObject)Instantiate(TowerPrefab); newTower.transform.SetParent(transform); newTower.transform.localPosition = position.Position3d() * HexBoard.TileScale; newTower.transform.rotation = Quaternion.Euler(0, 90, 0); // point the turret to the right var towerControl = newTower.GetComponent<TowerControl>(); towerControl.playerNumber = playerNumber; towerControl.SetColor(playerNumber); Positions.IncreasePositionControl(position, playerNumber); return true; }