Esempio n. 1
0
 public CharacterStateSwitch3D(ICharacterState3D newState, Vector3 movementInput,
                               float deltaTime, bool runImmediately)
 {
     this.newState       = newState;
     this.movementInput  = movementInput;
     this.deltaTime      = deltaTime;
     this.runImmediately = runImmediately;
 }
Esempio n. 2
0
 private void SetInitialCharacterState()
 {
     if (characterController.isGrounded)
     {
         characterState = new GroundState3D(this, velocity);
     }
     else
     {
         characterState = new AirState3D(this, velocity);
     }
 }
Esempio n. 3
0
    public void ChangeCharacterState(CharacterStateSwitch3D stateSwitch)
    {
        PrintStateSwitch(stateSwitch);

        characterState.Exit();
        characterState = stateSwitch.NewState;
        characterState.Enter();
        if (stateSwitch.RunImmediately)
        {
            characterState.Update(stateSwitch.MovementInput, stateSwitch.DeltaTime);
        }
    }
Esempio n. 4
0
 public CharacterStateSwitch3D(ICharacterState3D newState)
     : this(newState, Vector3.zero, 0.0f, false)
 {
 }