public void AddToPool(GardenDivider _divider) { _divider.transform.SetParent(transform); pooledDividers.Add(_divider); _divider.gameObject.SetActive(false); placedDividers.Remove(_divider); }
public void SpawnFirstGarden() { for (int i = 0; i < tilesPerGarden; i++) { nextTile = GameManager.gm.tilePool.GetGardenTile(Random.Range(0, GameManager.gm.tilePool.pooledTiles.Count)); if (heavyTileCountdown > 0 && nextTile.tyleType == GardenTile.TyleType.Heavy) { // get another tile i--; } else { nextTile.transform.position = spawnLocation; nextTile.transform.parent = null; nextTile.gameObject.SetActive(true); GameManager.gm.tilePool.placedTiles.Add(nextTile); spawnLocation.z += tileLength; if (nextTile.tyleType == GardenTile.TyleType.Heavy) { heavyTileCountdown = 4; } else { heavyTileCountdown--; } } } nextDivider = Instantiate(GameManager.gm.dividerPool.GetDivider(Random.Range(0, GameManager.gm.dividerPool.pooledDividers.Count)), spawnLocation, Quaternion.identity); nextDivider.transform.parent = null; nextDivider.gameObject.SetActive(true); GameManager.gm.dividerPool.placedDividers.Add(nextDivider); spawnLocation.z += dividerLength; }
public GardenDivider GetDivider(int randomIndex) { selectedDivider = pooledDividers[randomIndex]; pooledDividers.RemoveAt(randomIndex); return(selectedDivider); }