void EventUpdate() { if (input.IsNone || !input.Value) { return; } var action = (InputAction)input.Value; var newState = action.GetButtonState(); //state has changed if (mCurState != newState) { mCurState = newState; switch (mCurState) { case InputAction.ButtonState.Pressed: if (!FsmEvent.IsNullOrEmpty(pressedEvent)) { Fsm.Event(pressedEvent); } break; case InputAction.ButtonState.Released: if (!FsmEvent.IsNullOrEmpty(releasedEvent)) { Fsm.Event(releasedEvent); } break; } } }
public void Update() { var newState = action.GetButtonState(); //state has changed if (mCurState != newState) { mCurState = newState; switch (mCurState) { case InputAction.ButtonState.Pressed: if (pressedCallback != null) { pressedCallback.Invoke(action); } break; case InputAction.ButtonState.Released: if (releasedCallback != null) { releasedCallback.Invoke(action); } break; } } }
public override void OnEnter() { mCurState = InputAction.ButtonState.None; EventUpdate(); if (!everyFrame.Value) { Finish(); } }
public void Reset() { mCurState = InputAction.ButtonState.None; }