void BuildTower(Tile targetTile, Tower tower) { if (IsTileBuildable(targetTile.Position)) { if (!DoesTileContainTower(targetTile.Position)) { GameObject go = InactivePoolObjects.Dequeue(); go.GetComponent <SpriteRenderer>().sprite = tower.TowerSprite; go.SetActive(true); go.transform.position = targetTile.Position; ActiveTowers.Add(go); TileGenerator.ChangeTowerOnTile((int)targetTile.Position.x, (int)targetTile.Position.y, tower); Debug.Log("Built tower"); } } }