public void TryToBuildTower(TileInfo tile) { if (towerToBuild != null && towerToBuild.BaseCost <= GameManager.Instance.mapManager.gold && !tile.IsOccupied) { tile.Occupant = Instantiate(towerToBuild.BaseTower, tile.gameObject.transform.position + (Vector3.up * tile.BaseTileInfo.Y), Quaternion.Euler(0f, 0f, 0f)); TowerBehavior towerBehavior = tile.Occupant.GetComponent <TowerBehavior>(); if (towerBehavior != null) { towerBehavior.SetInitialValues(towerToBuild, tile.gameObject); } GameManager.Instance.mapManager.gold -= towerToBuild.BaseCost; } }