Beispiel #1
0
    public void Physics_Update(float delta)
    {
        _moveNode.Physics_Update(delta);

        // Conditions of transition to Idle or Run states
        if (Nucleus_Utils.StateMachine_Template.RootNode.IsOnFloor())
        {
            // _moveNode.Velocity.Length() : to deal with deceleration (force the character to stop when his velocity is close to 0)
            string target_state = (_moveNode.isMoving && _moveNode.Velocity.Length() < 1.0f) ? "Move/Idle" : "Move/Run";
            Nucleus_Utils.StateMachine_Template.TransitionTo(target_state, Nucleus_Utils.StateMachine_Template.TransitionToParam_Void);
        }
    }
Beispiel #2
0
    public void Physics_Update(float delta)
    {
        _moveNode.Physics_Update(delta);

        // Conditions of transition to Run or Air states
        if (Nucleus_Utils.StateMachine_Template.RootNode.IsOnFloor() && _moveNode.isMoving)
        {
            Nucleus_Utils.StateMachine_Template.TransitionTo("Move/Run", Nucleus_Utils.StateMachine_Template.TransitionToParam_Void);
        }
        else if (!Nucleus_Utils.StateMachine_Template.RootNode.IsOnFloor())
        {
            Nucleus_Utils.StateMachine_Template.TransitionTo("Move/Air", Nucleus_Utils.StateMachine_Template.TransitionToParam_Void);
        }
    }
Beispiel #3
0
    public void Physics_Update(float delta)
    {
        _moveNode.Physics_Update(delta);

        // Conditions of transition to Idle or Air states
        if (Nucleus_Utils.StateMachine_Template.RootNode.IsOnFloor() && !_moveNode.isMoving)
        {
            Nucleus_Utils.StateMachine_Template.TransitionTo("Move/Idle", Nucleus_Utils.StateMachine_Template.TransitionToParam_Void);
        }
        // _moveNode.Velocity.Length() : to deal with deceleration (force the character to stop when his velocity is close to 0)
        else if (!Nucleus_Utils.StateMachine_Template.RootNode.IsOnFloor() && _moveNode.Velocity.Length() < 1.0f)
        {
            Nucleus_Utils.StateMachine_Template.TransitionTo("Move/Air", Nucleus_Utils.StateMachine_Template.TransitionToParam_Void);
        }
    }