示例#1
0
 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}");
     }
 }
示例#2
0
        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);
        }
示例#3
0
 public override bool OnMouseWheel(InputStateData ev)
 {
     return(current.OnMouseWheel(ev));
 }
示例#4
0
 public override bool OnMouseUp(InputStateData state)
 {
     return(current.OnMouseUp(state));
 }
示例#5
0
 public bool KeyUp(InputStateData state)
 {
     currentSnapshot.CurrentInputState = state.Clone();
     return(StateMachine.KeyUp(state));
 }
示例#6
0
 public bool OnMouseWheel(InputStateData state)
 {
     currentSnapshot.CurrentInputState = state.Clone();
     return(StateMachine.OnMouseWheel(state));
 }
示例#7
0
 public virtual bool KeyUp(InputStateData ev)
 {
     return(false);
 }
示例#8
0
 public void LeaveState(InputStateData inputStateDate)
 {
 }
示例#9
0
 public abstract void SwitchTo(int stateTo, InputStateData state);
示例#10
0
 public virtual bool OnMouseUp(InputStateData state)
 {
     return(false);
 }
示例#11
0
 public virtual bool OnMouseDoubleDown(InputStateData state) => false;
示例#12
0
 public virtual void LeaveState(InputStateData inputStateDate)
 {
 }
示例#13
0
 public virtual void EnterState(InputStateData inputStateDate)
 {
 }
示例#14
0
 public override void SwitchTo(int stateTo, InputStateData state)
 {
     Processor.SwitchTo(stateTo, state);
 }
示例#15
0
 public override bool OnMouseDoubleDown(InputStateData state) => current.OnMouseDoubleDown(state);
示例#16
0
 public virtual bool OnMouseWheel(InputStateData ev)
 {
     return(false);
 }
示例#17
0
 public override bool KeyUp(InputStateData ev)
 {
     return(current.KeyUp(ev));
 }
示例#18
0
 public BaseInputPublisher()
 {
     subscribers = new List <InputObserver>();
     state       = InputStateData.Create();
 }