Ejemplo n.º 1
0
        public void SetPlayerState(PlayerStates newPlayerState)
        {
            if (playerState != newPlayerState)
            {
                playerStateBehaviour.OnStateExit();
                playerStateBehaviour = playerStateBehaviours[newPlayerState];
                playerStateBehaviour.OnStateEnter();

                playerStateAnimator?.SetPlayerState(newPlayerState);
                playerState = newPlayerState;
            }
        }
Ejemplo n.º 2
0
 private void Awake()
 {
     playerStateBehaviours = new Dictionary <PlayerStates, IPlayerStateBehaviour>
     {
         { PlayerStates.Idle, new PlayerIdleState(this) },
         { PlayerStates.Moving, new PlayerMovingState(this) },
         { PlayerStates.Jumping, new PlayerJumpingState(this) },
         { PlayerStates.Falling, new PlayerFallingState(this) },
         { PlayerStates.Attacked, new PlayerAttackedState(this) },
         { PlayerStates.Rope, new PlayerRopeState(this) },
         { PlayerStates.Ladder, new PlayerLadderState(this) }
     };
     playerStateBehaviour = playerStateBehaviours[playerState];
     focusStateController = FindObjectOfType <FocusStateController>();
 }
 public PlayerStateDetails(PlayerState playerState, IPlayerStateBehaviour playerStateBehaviour)
 {
     PlayerState          = playerState;
     PlayerStateBehaviour = playerStateBehaviour;
 }