private void move()
 {
     if (mouse.Equals(selection))
     {
         unselect();
     }
     else if (!mouse.containsKey("Unit"))
     {
         if (path.Length > 0)
         {
             waiting = true;
             HexPosition.clearSelection();
             selection = mouse;
             selection.select("Selection");
             CmdMoveUnit(HexPosition.pathToIntString(path));
         }
     }
     else
     {
         object enemy = null;
         if (mouse.tryGetValue("Unit", out enemy))
         {
             if (isAttackable(selection.getUnit(), (Unit)enemy))
             {
                 actuallyAttack();
             }
         }
     }
 }
示例#2
0
 private void move()
 {
     if (mouse.Equals(selection))
     {
         unselect();
     }
     else if (!mouse.containsKey("Unit"))
     {
         if (path.Length > 0)
         {
             Unit myUnit = ((Unit)selection.getValue("Unit"));
             myUnit.move(path);
             HexPosition.clearSelection();
             selection = mouse;
             selection.select("Selection");
             if (selectAttackable(myUnit))
             {
                 turn = Turn.ATTACK;
             }
             else
             {
                 myUnit.Status = Unit.State.WAIT;
                 unselect();
                 endTurn();
             }
         }
     }
     else
     {
         object enemy = null;
         if (mouse.tryGetValue("Unit", out enemy))
         {
             Unit myUnit = ((Unit)selection.getValue("Unit"));
             if (isAttackable(myUnit, (Unit)enemy))
             {
                 actuallyAttack();
             }
         }
     }
 }