Exemplo n.º 1
0
 private void CannotMove_Update()
 {
     if (CurrentLocomotionType.CanMove())
     {
         FSM.ChangeState(FStatesLocomotion.NotMoving);
     }
 }
Exemplo n.º 2
0
 private void NotMoving_Enter()
 {
     if (!CurrentLocomotionType.CanMove())
     {
         FSM.ChangeState(FStatesLocomotion.CannotMove);
     }
 }
Exemplo n.º 3
0
 protected override void MovingToPosition_Update()
 {
     base.MovingToPosition_Update();
     if (FocusedOnPosition != null)
     {
         CurrentLocomotionType.MoveTowardsPosition(_fullspeed);
     }
 }
Exemplo n.º 4
0
 private void MovingAwayFromPositionOnStarted_Listener()
 {
     try
     {
         CurrentLocomotionType.MoveAway(_fullspeed);
     }
     catch (System.Exception ex)
     {
         LogErrorLocomotion(ex);
         FSM.ChangeState(FStatesLocomotion.CannotMove);
     }
 }
Exemplo n.º 5
0
 private bool MoveCommon(FStatesLocomotion moveType, bool fullspeed = true, DistanceType?stopMovementCondition = null)
 {
     StopMovementCondition = stopMovementCondition;
     if (!CurrentLocomotionType.CanMove() || HasReachedDestination())
     {
         // StopMovementCondition = null; // StopMovementConditions.NONE;
         return(false);
     }
     _fullspeed = fullspeed;
     FSM.ChangeState(moveType);
     return(true);
 }
Exemplo n.º 6
0
 private void MovingToTarget_Update()
 {
     if (!CurrentLocomotionType.CanMove())
     {
         FSM.ChangeState(FStatesLocomotion.CannotMove);
     }
     else if (IsNotFocusedOrReachedDestination())
     {
         FSM.ChangeState(FStatesLocomotion.NotMoving);
     }
     else
     {
         MoveTowardsTarget(_fullspeed);
     }
 }
Exemplo n.º 7
0
        protected virtual void MovingToPosition_Update()
        {
            if (!CurrentLocomotionType.CanMove())
            {
                FSM.ChangeState(FStatesLocomotion.CannotMove);
            }
            else if (IsNotFocusedOrReachedDestination())
            {
                if (FocusedOnPosition != null)
                {
                    OnDestinationReached.Invoke(FocusedOnPosition.Value);
                }

                FSM.ChangeState(FStatesLocomotion.NotMoving);
            }
        }
Exemplo n.º 8
0
 public bool MoveTowardsTarget(bool fullspeed = true)
 {
     if (FocusedOnTransform == null)
     {
         FSM.ChangeState(FStatesLocomotion.NotMoving);
         return(false);
     }
     FocusOnPosition(FocusedOnTransform.position);
     try
     {
         return(CurrentLocomotionType.MoveTowardsPosition(fullspeed));
     }
     catch (System.Exception ex)
     {
         LogErrorLocomotion(ex);
         FSM.ChangeState(FStatesLocomotion.CannotMove);
         return(false);
     }
 }
Exemplo n.º 9
0
 private void MovingAwayFromTarget_Update()
 {
     if (!CurrentLocomotionType.CanMove())
     {
         FSM.ChangeState(FStatesLocomotion.CannotMove);
     }
     else if (IsNotFocusedOrIsAway())
     {
         FSM.ChangeState(FStatesLocomotion.NotMoving);
     }
     else
     {
         try
         {
             CurrentLocomotionType.MoveAway();
         }
         catch (System.Exception ex)
         {
             LogErrorLocomotion(ex);
             FSM.ChangeState(FStatesLocomotion.CannotMove);
         }
     }
 }
Exemplo n.º 10
0
 private void OnStateChanged_Listener(FStatesLocomotion state)
 {
     CurrentLocomotionType.OnStateChange(state);
 }
Exemplo n.º 11
0
 public bool HasReachedDestination()
 {
     return(StopMovementCondition == null ? false : CurrentLocomotionType.HasReachedDestination(StopMovementCondition.Value));
 }
Exemplo n.º 12
0
 public void MoveTowardsPosition(bool fullspeed = true)
 {
     CurrentLocomotionType.MoveTowardsPosition(fullspeed);
 }
Exemplo n.º 13
0
 public void RotateTowardsPosition()
 {
     CurrentLocomotionType.RotateTowardsPosition();
 }