public CharacterStateManager(Character character) { this.character = character; movementState = new StandingState(this); leaningState = new NoLeaningState(this); interactionState = new InteractionState(this); }
public void _PhysicsProcess(float dt) { movementState = (AbstractMovementState)movementState.PhysicsProcess(dt); leaningState = (AbstractLeaningState)leaningState.PhysicsProcess(dt); interactionState = (AbstractInteractionState)interactionState.PhysicsProcess(dt); }
public void _Input(InputEvent ev) { movementState = (AbstractMovementState)movementState.HandleEvent(ev); leaningState = (AbstractLeaningState)leaningState.HandleEvent(ev); interactionState = (AbstractInteractionState)interactionState.HandleEvent(ev); }