public override void SwitchTo(int stateTo, InputStateData state) { if (states.ContainsKey(stateTo)) { current?.LeaveState(state); current = states[stateTo](this); current.EnterState(state); } else { Debug.WriteLine($"No handled state {stateTo}"); } }
public InputStateData Clone() { var buttonsStates = new Dictionary <GeneralMouseButtons, ButtonsState>(); foreach (var i in this.buttonsStates) { buttonsStates.Add(i.Key, i.Value); } var cloned = new InputStateData(buttonsStates); cloned.Buttons = Buttons; cloned.CurrentPosition = CurrentPosition; cloned.PrevPosition = PrevPosition; cloned.CursorCurrentPosition = CursorCurrentPosition; cloned.Delta = Delta; cloned.IsKeywordDown = IsKeywordDown; cloned.Keyword = Keyword; return(cloned); }
public override bool OnMouseWheel(InputStateData ev) { return(current.OnMouseWheel(ev)); }
public override bool OnMouseUp(InputStateData state) { return(current.OnMouseUp(state)); }
public bool KeyUp(InputStateData state) { currentSnapshot.CurrentInputState = state.Clone(); return(StateMachine.KeyUp(state)); }
public bool OnMouseWheel(InputStateData state) { currentSnapshot.CurrentInputState = state.Clone(); return(StateMachine.OnMouseWheel(state)); }
public virtual bool KeyUp(InputStateData ev) { return(false); }
public void LeaveState(InputStateData inputStateDate) { }
public abstract void SwitchTo(int stateTo, InputStateData state);
public virtual bool OnMouseUp(InputStateData state) { return(false); }
public virtual bool OnMouseDoubleDown(InputStateData state) => false;
public virtual void LeaveState(InputStateData inputStateDate) { }
public virtual void EnterState(InputStateData inputStateDate) { }
public override void SwitchTo(int stateTo, InputStateData state) { Processor.SwitchTo(stateTo, state); }
public override bool OnMouseDoubleDown(InputStateData state) => current.OnMouseDoubleDown(state);
public virtual bool OnMouseWheel(InputStateData ev) { return(false); }
public override bool KeyUp(InputStateData ev) { return(current.KeyUp(ev)); }
public BaseInputPublisher() { subscribers = new List <InputObserver>(); state = InputStateData.Create(); }