示例#1
0
    /// <summary>
    /// Move the animal and remove it's reference. That way
    /// during lerping it wont have an incorrect reference.
    /// </summary>
    private void MoveAnimal(AnimalTile animal, IntVector2 targetPos)
    {
        if (AnimalTile.IsNullOrMoving(animal))
        {
            return;
        }

        animal.LerpToPosition(targetPos);
        SetAnimalInBoard(animal, targetPos);
    }
示例#2
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);
    }
示例#3
0
    /// <summary>
    /// Move the animal and remove it's reference. That way
    /// during lerping it wont have an incorrect reference.
    /// </summary>
    private void MoveAnimal(IntVector2 animalPos, IntVector2 targetPos)
    {
        AnimalTile animalToMove = GetAnimal(animalPos);

        if (AnimalTile.IsNullOrMoving(animalToMove))
        {
            return;
        }

        animalToMove.LerpToPosition(targetPos);
        animals[animalPos.x, animalPos.y] = null;
        SetAnimalInBoard(animalToMove, targetPos);
    }