예제 #1
0
        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;
                }
            }
        }
예제 #2
0
            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;
                    }
                }
            }
예제 #3
0
        public override void OnEnter()
        {
            mCurState = InputAction.ButtonState.None;

            EventUpdate();

            if (!everyFrame.Value)
            {
                Finish();
            }
        }
예제 #4
0
 public void Reset()
 {
     mCurState = InputAction.ButtonState.None;
 }