1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package motejx.adapters;
17
18 import motejx.extensions.classic.ClassicControllerAnalogListener;
19 import motejx.extensions.classic.LeftAnalogStickEvent;
20 import motejx.extensions.classic.LeftAnalogTriggerEvent;
21 import motejx.extensions.classic.RightAnalogStickEvent;
22 import motejx.extensions.classic.RightAnalogTriggerEvent;
23
24
25
26
27
28
29 public abstract class StatefulClassicControllerAnalogAdapter implements
30 ClassicControllerAnalogListener {
31
32 protected LeftAnalogStickEvent latestLeftAnalogStickEvent;
33 protected RightAnalogStickEvent latestRightAnalogStickEvent;
34 protected LeftAnalogTriggerEvent latestLeftAnalogTriggerEvent;
35 protected RightAnalogTriggerEvent latestRightAnalogTriggerEvent;
36
37
38
39
40 public void leftAnalogStickChanged(LeftAnalogStickEvent evt) {
41 if (!evt.equals(latestLeftAnalogStickEvent)) {
42 latestLeftAnalogStickEvent = evt;
43 leftAnalogStickStateChanged(evt);
44 }
45 }
46
47 public abstract void leftAnalogStickStateChanged(LeftAnalogStickEvent evt);
48
49
50
51
52 public void leftAnalogTriggerChanged(LeftAnalogTriggerEvent evt) {
53 if (!evt.equals(latestLeftAnalogTriggerEvent)) {
54 latestLeftAnalogTriggerEvent = evt;
55 leftAnalogTriggerStateChanged(evt);
56 }
57 }
58
59 public abstract void leftAnalogTriggerStateChanged(LeftAnalogTriggerEvent evt);
60
61
62
63
64 public void rightAnalogStickChanged(RightAnalogStickEvent evt) {
65 if (!evt.equals(latestRightAnalogStickEvent)) {
66 latestRightAnalogStickEvent = evt;
67 rightAnalogStickStateChanged(evt);
68 }
69 }
70
71 public abstract void rightAnalogStickStateChanged(RightAnalogStickEvent evt);
72
73
74
75
76 public void rightAnalogTriggerChanged(RightAnalogTriggerEvent evt) {
77 if (!evt.equals(latestRightAnalogTriggerEvent)) {
78 latestRightAnalogTriggerEvent = evt;
79 rightAnalogTriggerStateChanged(evt);
80 }
81 }
82
83 public abstract void rightAnalogTriggerStateChanged(RightAnalogTriggerEvent evt);
84
85 }