Esempio n. 1
0
    /// <summary>
    /// Spawns a new gameobject and stores its reference in the board.
    /// </summary>
    private void SpawnAnimal()
    {
        AnimalBluePrint bluePrint     = animalsToSpawn.Dequeue();
        GameObject      newTile       = Instantiate(animalPrefabs[(int)bluePrint.Type], this.transform.position, Quaternion.identity, animalStorage);
        AnimalTile      newAnimalTile = newTile.GetComponent <AnimalTile>();

        //Start lerping towards it's target, and store it's reference in the board.
        newAnimalTile.animalBoard = animalBoard;
        newAnimalTile.LerpToPosition(bluePrint.TargetPos);
        animalBoard.SetAnimalInBoard(newAnimalTile, bluePrint.TargetPos);
    }
Esempio n. 2
0
    /// <summary>
    /// Call this to add an animal to the wait count.
    /// </summary>
    public void AddAnimalToSpawnQueue(IntVector2 targetPos)
    {
        AnimalBluePrint newAnimal = new AnimalBluePrint(targetPos);

        animalsToSpawn.Enqueue(newAnimal);
    }