Exemple #1
0
 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;
    }
Exemple #3
0
 public GardenDivider GetDivider(int randomIndex)
 {
     selectedDivider = pooledDividers[randomIndex];
     pooledDividers.RemoveAt(randomIndex);
     return(selectedDivider);
 }