Esempio n. 1
0
        public bool IsLegalTileForUnit(MultiTile position, Unit unit)
        {
            BFS(unit);
            int legalDistance = 0;

            if (unit.IsInCombat() && unit.statistics.movementPoints > 0)
            {
                legalDistance = 1;
            }
            else if (unit.IsInCombat() == false)
            {
                legalDistance = unit.statistics.movementPoints;
            }
            return(distances[position.bottomLeftCorner.position.x, position.bottomLeftCorner.position.z] <= legalDistance && distances[position.bottomLeftCorner.position.x, position.bottomLeftCorner.position.z] > 0);
        }
Esempio n. 2
0
 public void OnTileToMoveHovered(Unit unitToMove, MultiTile targetTile)
 {
     if (targetTile.IsProtectedByEnemyOf(unitToMove))
     {
         SetCursorTo(enterCombatCursor, clickingEnterCombatCursor);
     }
     else if (unitToMove.IsInCombat())
     {
         SetCursorTo(combatExitingMovementCursor, clickingCombatExitingMovementCursor);
     }
     else
     {
         SetCursorTo(walkingCursor, clickingWalkingCursor);
     }
 }
Esempio n. 3
0
 bool IsQuittingCombatIntoCombat(Unit unitToMove, MultiTile position)
 {
     return(unitToMove.IsInCombat() && position.IsProtectedByEnemyOf(unitToMove));
 }
Esempio n. 4
0
 public void OnAttack(BattlescapeLogic.Unit Attacker, BattlescapeLogic.Unit Defender)
 {
     if (Attacker == myUnit && GameRound.instance.currentPhase == TurnPhases.Attack && myUnit.IsInCombat() == false)
     {
         if (Application.isEditor)
         {
             DestroyImmediate(transform.GetChild(0).gameObject);
         }
         else
         {
             Destroy(transform.GetChild(0).gameObject);
         }
     }
 }