Пример #1
0
    public virtual bool willActivate(int x, int y)
    {
        Trio <int, int, Terrain> t;

        if (surroundings.tryGetTerrain(x, y, out t) && t.third.creature.team != team)
        {
            return(true);
        }
        return(false);
    }
Пример #2
0
 public static void clickTerrain(Terrain terrain)
 {
     if (trapPreview)
     {
         placeTrap(terrain);
         return;
     }
     if (creatureClicked == null)                              //if no creatures was selected
     {
         if (terrain.creature != null)                         //and f terrain has creature
         {
             if (terrain.creature.team == TurnController.turn) //and if creatures is owned by the player
             {
                 selectCreature(terrain.creature);             //select it
             }
         }
     }
     else //howeever, if there was a creature selected
     {
         Trio <int, int, Terrain> t;
         if (possibilities.tryGetTerrain(terrain.x, terrain.y, out t)) //and the clicked terrain was in range
         {
             if (terrain.creature == null)                             //if the terrain didnt contain a creature, move
             {
                 creatureClicked.move(terrain.x, terrain.y, t.second);
                 selectCreature(null);
             }
             else if (terrain.creature == creatureClicked)
             {
                 selectCreature(null);                                                                         //if user clicked at the already selected creature, unselect it
             }
             else if (terrain.creature.team != creatureClicked.team && t.first <= creatureClicked.attackRange) //if the creature was of the oposite team and was in range for attack
             {
                 creatureClicked.attack(terrain.creature);                                                     //attack target
                 selectCreature(creatureClicked);                                                              //unselect creature;
             }
         }
         else if (terrain.creature != null && terrain.creature.team == TurnController.turn) //if the clicked terrain wasnt in range and had a creature owned by the player, select it
         {
             selectCreature(terrain.creature);
         }
         else
         {
             selectCreature(null); //if nothing else, unselect the creature.
         }
     }
 }
Пример #3
0
 public static void clickTerrain(Terrain terrain)
 {
     if (creatureClicked is UndeadKnight && terrain is Mountain)
     {
         selectCreature(null);
         return;
     }
     if (isOverriding)
     {
         isOverriding = false;
         overrideFunction(terrain);
         return;
     }
     if (creatureClicked == null)
     {
         if (terrain.creature != null)
         {
             if (terrain.creature.team == TurnController.turn)
             {
                 selectCreature(terrain.creature);
             }
         }
     }
     else
     {
         Trio <int, int, Terrain> t;
         if (terrain.creature == creatureClicked)
         {
             selectCreature(null);
             return;
         }
         if (attackPossibilities.hasCreature(terrain.creature))
         {
             if (terrain.creature.team != creatureClicked.team)
             {
                 creatureClicked.attack(terrain.creature);
                 selectCreature(creatureClicked);
             }
             else
             {
                 selectCreature(terrain.creature);
             }
         }
         else if (possibilities.tryGetTerrain(terrain.x, terrain.y, out t))
         {
             if (terrain.creature == null)
             {
                 if (creatureClicked is HumanKnight && t.first == 1)
                 {
                     t.second++;
                 }
                 creatureClicked.move(terrain.x, terrain.y, t.second);
                 selectCreature(null);
             }
             else if (terrain.creature == creatureClicked)
             {
                 selectCreature(null);
             }
             else if (terrain.creature.team == creatureClicked.team)
             {
                 selectCreature(terrain.creature);
             }
         }
         else if (terrain.creature != null && terrain.creature.team == TurnController.turn)
         {
             selectCreature(terrain.creature);
         }
         else
         {
             selectCreature(null);
         }
     }
 }