示例#1
0
    //accion que hace evolucionar un pokemon
    public override void DoAction()
    {
        //nuestro metodo de evolucion sera el nombre del objeto que tocamos
        string evolutionMethod = touchedStone.touchedObj;


        //si evolucionamos por piedra agua es que seremos
        //un pokemon de agua entonces actualizamos los walkable
        //de cada metodo para incluir agua
        if (evolutionMethod == "Water Stone")
        {
            string[] oldWalkable = updateAStar.walkable;
            int      n           = oldWalkable.Length;
            string[] newWalkable = new string[n + 1];

            //copiamos sobre lo que podiamos caminar anter
            for (int i = 0; i < n; i++)
            {
                newWalkable[i] = oldWalkable[i];
            }

            //agregamos que podemos caminar sobre agua
            newWalkable[n] = "Water";

            updateAStar.walkable = newWalkable;
            aStar.walkable       = newWalkable;
        }

        //EVOLUCIONAMOS
        pokemon.Evolve(evolutionMethod);
    }