示例#1
0
 public void Move()
 {
     transform.position = Vector2.Lerp(transform.position, PathfindingSteps[0], 0.7f);
     if ((Vector2)transform.position == PathfindingSteps[0])
     {
         SkinContainer.SetSkinContainerSortingLayerOrder(Constants.GridMax - PathfindingPos[0].Y);
         PathfindingPos.RemoveAt(0);
         PathfindingSteps.RemoveAt(0);
         if (PathfindingSteps.Count == 0)
         {
             IsMoving = false;
             X        = _cellToReachX;
             Y        = _cellToReachY;
             if (Character.IsPlayer)
             {
                 _fightSceneBhv.AfterPlayerMovement();
             }
             else if (!Character.IsPlayer && _fightSceneBhv.State == FightState.OpponentTurn)
             {
                 Ai.AfterMovement();
             }
             if (AfterMouvementDelegate != null)
             {
                 AfterMouvementDelegate();
             }
         }
         else
         {
             SkinContainer.OrientToTarget(X - PathfindingPos[0].X);
         }
     }
 }
示例#2
0
 public override void EndAction(Vector2 lastTouchPosition)
 {
     _soundControler.PlaySound(_soundControler.ClickOut);
     if (State == CellState.None || State == CellState.AttackZone)
     {
         _fightSceneBhv.AfterPlayerMovement();
         return;
     }
     else if (State == CellState.Mouvement)
     {
         _gridBhv.OnPlayerMovementClick(X, Y);
     }
     else if (State == CellState.Spawn && Type == CellType.Spawn)
     {
         _gridBhv.OnPlayerSpawnClick(X, Y);
     }
     else if (State == CellState.AttackRange)
     {
         _gridBhv.OnPlayerAttackClick(X, Y);
     }
     else if (State == CellState.SkillRange)
     {
         _gridBhv.OnPlayerSkillClick(X, Y);
     }
 }