Exemplo n.º 1
0
    void ExecuteTurn()
    {
        List <Vector2Int>      possibleTiles = prey.map.GetAdjacentPositions(prey.GetTilemapPosition());
        List <TileAndDistance> choices       = new List <TileAndDistance>();

        for (int i = 0; i < possibleTiles.Count; i++)
        {
            choices.Add(new TileAndDistance(possibleTiles[i], Vector2Int.Distance(possibleTiles[i], prey.game.predator.GetTilemapPosition())));
        }

        choices.Sort(delegate(TileAndDistance a, TileAndDistance b)
        {
            if (a.distance > b.distance)
            {
                return(-1);
            }
            else if (a.distance == b.distance)
            {
                return(0);
            }
            return(1);
        });

        if (choices.Count > 0)
        {
            prey.Move(choices[0].position);
        }
    }