public void TerminateSubstate() { if (_substate != null) { OnSubstatePreExit(); _substate.OnExit(); _substate = null; OnSubstatePostExit(); } }
public void SwitchState(HandGesture inputType) { BaseInputState state = null; switch (inputType) { case HandGesture.Touching: state = new TouchingState(m_InputTouch); break; case HandGesture.Click: state = new ClickState(m_InputTouch); break; case HandGesture.Holding: state = new HoldingState(m_InputTouch); break; case HandGesture.Drag: state = new DragState(m_InputTouch); break; case HandGesture.Slip: state = new SlipState(m_InputTouch); break; case HandGesture.Realease: state = new ReleaseState(m_InputTouch); break; default: state = new NoneInput(m_InputTouch); break; } if (state != null) { Switch(state); } else { Debug.Log("InputStateFSM.SwitchState " + inputType + "is None"); } }
private void OnDisable() { _mainInputState.OnExit(); _mainInputState = null; }
public void SetSubstate(BaseInputState substate) { TerminateSubstate(); _substate = substate; _substate.OnEnter(); }
private void OnEnable() { _mainInputState = new InputStateMain(); _mainInputState.OnEnter(); }