//public Animator animator;

    private void Awake()
    {
        stateMachine = new StateMachine <AlexPlayerController>(this);

        playerIdleState      = new PlayerIdleState();
        playerRunningState   = new PlayerRunningState();
        playerJumpingState   = new PlayerJumpingState();
        playerFallingState   = new PlayerFallingState();
        playerAttackingState = new PlayerAttackingState();

        stateMachine.ChangeState(playerIdleState);

        rb = GetComponent <Rigidbody>();

        attackHitboxScript = attackHitboxObject.GetComponent <HitBoxController>();
    }
Ejemplo n.º 2
0
    public CharacterStateMachine(PlayerController player)
    {
        _player = player;
        CharacterState.Init(player);

        PlayerIdleState      idleState   = new PlayerIdleState();
        PlayerMoveState      moveState   = new PlayerMoveState();
        PlayerAimState       aimState    = new PlayerAimState();
        PlayerAttackingState attackState = new PlayerAttackingState();

        idleState.InitTransitions(moveState, aimState);
        moveState.InitTransitions(idleState, attackState, aimState);
        aimState.InitTransitions(moveState, attackState, idleState);
        attackState.InitTransitions(moveState);

        _allStates.Add(idleState.GetType(), idleState);
        _allStates.Add(moveState.GetType(), moveState);

        _currentState = idleState;
    }