11package tech .fastj .gameloop ;
22
3- import tech .fastj .gameloop .event .GameEvent ;
4- import tech .fastj .gameloop .event .GameEventHandler ;
5- import tech .fastj .gameloop .event .GameEventObserver ;
3+ import tech .fastj .gameloop .event .Event ;
4+ import tech .fastj .gameloop .event .EventHandler ;
5+ import tech .fastj .gameloop .event .EventObserver ;
66
77import java .util .*;
88import java .util .concurrent .TimeUnit ;
@@ -34,17 +34,17 @@ public class GameLoop implements Runnable {
3434 );
3535 private final Queue <GameLoopState > nextLoopStates ;
3636
37- private final Map <CoreLoopState , Queue <GameEvent >> nextCoreEvents = Map .of (
37+ private final Map <CoreLoopState , Queue <Event >> nextCoreEvents = Map .of (
3838 CoreLoopState .EarlyUpdate , new ArrayDeque <>(),
3939 CoreLoopState .FixedUpdate , new ArrayDeque <>(),
4040 CoreLoopState .Update , new ArrayDeque <>(),
4141 CoreLoopState .LateUpdate , new ArrayDeque <>()
4242 );
43- private final Map <GameLoopState , Queue <GameEvent >> nextGameEvents ;
43+ private final Map <GameLoopState , Queue <Event >> nextEvents ;
4444
45- private final Map <Class <? extends GameEvent >, List <GameEventObserver <? extends GameEvent >>> gameEventObservers ;
46- private final Map <Class <? extends GameEvent >, GameEventHandler <? extends GameEvent , ? extends GameEventObserver <? extends GameEvent >>> gameEventHandlers ;
47- private final Map <Class <? extends GameEvent >, Class <? extends GameEvent >> classAliases ;
45+ private final Map <Class <? extends Event >, List <EventObserver <? extends Event >>> gameEventObservers ;
46+ private final Map <Class <? extends Event >, EventHandler <? extends Event , ? extends EventObserver <? extends Event >>> gameEventHandlers ;
47+ private final Map <Class <? extends Event >, Class <? extends Event >> classAliases ;
4848
4949 private GameLoopState currentGameLoopState ;
5050 private volatile boolean isRunning ;
@@ -62,7 +62,7 @@ public GameLoop(Predicate<GameLoop> shouldRun, Predicate<GameLoop> shouldSync) {
6262
6363 isRunning = false ;
6464 nextLoopStates = new ArrayDeque <>();
65- nextGameEvents = new HashMap <>();
65+ nextEvents = new HashMap <>();
6666 gameEventObservers = new HashMap <>();
6767 gameEventHandlers = new HashMap <>();
6868 classAliases = new HashMap <>();
@@ -95,45 +95,45 @@ public void addGameLoopState(GameLoopState gameLoopState) {
9595 }
9696 }
9797
98- public <T extends GameEvent > void addEventObserver (GameEventObserver <T > gameEventObserver , Class <T > eventClass ) {
98+ public <T extends Event > void addEventObserver (EventObserver <T > eventObserver , Class <T > eventClass ) {
9999 synchronized (gameEventObservers ) {
100100 if (!gameEventObservers .containsKey (eventClass )) {
101101 gameEventObservers .put (eventClass , new ArrayList <>());
102102 }
103- gameEventObservers .get (eventClass ).add (gameEventObserver );
103+ gameEventObservers .get (eventClass ).add (eventObserver );
104104 }
105105 }
106106
107- public <T extends GameEvent > void removeEventObserver (GameEventObserver <T > gameEventObserver , Class <T > eventClass ) {
107+ public <T extends Event > void removeEventObserver (EventObserver <T > eventObserver , Class <T > eventClass ) {
108108 if (!gameEventObservers .containsKey (eventClass )) {
109109 return ;
110110 }
111111 synchronized (gameEventObservers ) {
112- gameEventObservers .get (eventClass ).remove (gameEventObserver );
112+ gameEventObservers .get (eventClass ).remove (eventObserver );
113113 }
114114 }
115115
116- public <T extends GameEvent , V extends GameEventHandler <T , GameEventObserver <T >>> void addEventHandler (V gameEventHandler , Class <T > eventClass ) {
116+ public <T extends Event , V extends EventHandler <T , EventObserver <T >>> void addEventHandler (V gameEventHandler , Class <T > eventClass ) {
117117 synchronized (gameEventHandlers ) {
118118 gameEventHandlers .put (eventClass , gameEventHandler );
119119 }
120120 }
121121
122- public <T extends GameEvent > void removeEventHandler (Class <T > eventClass ) {
122+ public <T extends Event > void removeEventHandler (Class <T > eventClass ) {
123123 synchronized (gameEventHandlers ) {
124124 gameEventHandlers .remove (eventClass );
125125 }
126126 }
127127
128- public <S extends GameEvent , T extends S > void addClassAlias (Class <T > originalClass , Class <S > aliasedClass ) {
128+ public <S extends Event , T extends S > void addClassAlias (Class <T > originalClass , Class <S > aliasedClass ) {
129129 classAliases .put (originalClass , aliasedClass );
130130 }
131131
132- public <S extends GameEvent , T extends S > void removeClassAlias (Class <T > originalClass ) {
132+ public <S extends Event , T extends S > void removeClassAlias (Class <T > originalClass ) {
133133 classAliases .remove (originalClass );
134134 }
135135
136- public <T extends GameEvent > Class <? extends GameEvent > getClassAlias (Class <T > originalClass ) {
136+ public <T extends Event > Class <? extends Event > getClassAlias (Class <T > originalClass ) {
137137 return classAliases .get (originalClass );
138138 }
139139
@@ -178,13 +178,13 @@ public void setTargetUPS(int ups) {
178178 }
179179 }
180180
181- public <T extends GameEvent > List <GameEventObserver <? extends GameEvent >> getGameEventObservers (Class <T > eventClass ) {
181+ public <T extends Event > List <EventObserver <? extends Event >> getEventObservers (Class <T > eventClass ) {
182182 return gameEventObservers .getOrDefault (eventClass , List .of ());
183183 }
184184
185185 @ SuppressWarnings ("unchecked" )
186- public <T extends GameEvent , V extends GameEventObserver <T >> GameEventHandler <T , V > getGameEventHandler (Class <T > eventClass ) {
187- return (GameEventHandler <T , V >) gameEventHandlers .get (eventClass );
186+ public <T extends Event , V extends EventObserver <T >> EventHandler <T , V > getEventHandler (Class <T > eventClass ) {
187+ return (EventHandler <T , V >) gameEventHandlers .get (eventClass );
188188 }
189189
190190 public Map <CoreLoopState , Set <GameLoopState >> getGameLoopStates () {
@@ -205,50 +205,50 @@ public GameLoopState getCurrentGameLoopState() {
205205 }
206206
207207 @ SuppressWarnings ("unchecked" )
208- public <T extends GameEvent > void fireEvent (T event ) {
208+ public <T extends Event > void fireEvent (T event ) {
209209 Class <T > eventClass = (Class <T >) event .getClass ();
210210 tryFireEvent (event , eventClass );
211211
212212
213- Class <GameEvent > classAlias = (Class <GameEvent >) classAliases .get (eventClass );
213+ Class <Event > classAlias = (Class <Event >) classAliases .get (eventClass );
214214 if (classAlias != null ) {
215215 tryFireEvent (event , classAlias );
216216 }
217217 }
218218
219219 @ SuppressWarnings ("unchecked" )
220- private <T extends GameEvent > void tryFireEvent (T event , Class <T > eventClass ) {
221- var gameEventHandler = (GameEventHandler <T , GameEventObserver <T >>) gameEventHandlers .get (eventClass );
220+ private <T extends Event > void tryFireEvent (T event , Class <T > eventClass ) {
221+ var gameEventHandler = (EventHandler <T , EventObserver <T >>) gameEventHandlers .get (eventClass );
222222 if (gameEventHandler != null ) {
223- ((GameEventHandler ) gameEventHandler ).handleEvent (gameEventObservers .get (eventClass ), event );
223+ ((EventHandler ) gameEventHandler ).handleEvent (gameEventObservers .get (eventClass ), event );
224224 return ;
225225 }
226226
227- List <GameEventObserver <? extends GameEvent >> gameEventObserverList = gameEventObservers .get (eventClass );
228- if (gameEventObserverList == null ) {
227+ List <EventObserver <? extends Event >> eventObservers = gameEventObservers .get (eventClass );
228+ if (eventObservers == null ) {
229229 gameEventObservers .put (eventClass , new ArrayList <>());
230- gameEventObserverList = gameEventObservers .get (eventClass );
230+ eventObservers = gameEventObservers .get (eventClass );
231231 }
232232
233233 if (gameEventObservers .get (eventClass ).isEmpty ()) {
234234 return ;
235235 }
236236
237- for (var gameEventObserver : gameEventObserverList ) {
238- ((GameEventObserver <T >) gameEventObserver ).eventReceived (event );
237+ for (var gameEventObserver : eventObservers ) {
238+ ((EventObserver <T >) gameEventObserver ).eventReceived (event );
239239 }
240240 }
241241
242- public <T extends GameEvent > void fireEvent (T event , GameLoopState whenToFire ) {
243- synchronized (nextGameEvents ) {
244- if (nextGameEvents .get (whenToFire ) == null ) {
245- nextGameEvents .put (whenToFire , new ArrayDeque <>());
242+ public <T extends Event > void fireEvent (T event , GameLoopState whenToFire ) {
243+ synchronized (nextEvents ) {
244+ if (nextEvents .get (whenToFire ) == null ) {
245+ nextEvents .put (whenToFire , new ArrayDeque <>());
246246 }
247- nextGameEvents .get (whenToFire ).add (event );
247+ nextEvents .get (whenToFire ).add (event );
248248 }
249249 }
250250
251- public <T extends GameEvent > void fireEvent (T event , CoreLoopState whenToFire ) {
251+ public <T extends Event > void fireEvent (T event , CoreLoopState whenToFire ) {
252252 synchronized (nextCoreEvents ) {
253253 nextCoreEvents .get (whenToFire ).add (event );
254254 }
@@ -274,8 +274,8 @@ public synchronized void run() {
274274 synchronized (nextLoopStates ) {
275275 for (GameLoopState nextLoopState : nextLoopStates ) {
276276 gameLoopStates .get (nextLoopState .getCoreLoopState ()).add (nextLoopState );
277- synchronized (nextGameEvents ) {
278- nextGameEvents .computeIfAbsent (nextLoopState , gameLoopState -> new ArrayDeque <>());
277+ synchronized (nextEvents ) {
278+ nextEvents .computeIfAbsent (nextLoopState , gameLoopState -> new ArrayDeque <>());
279279 }
280280 }
281281 nextLoopStates .clear ();
@@ -315,7 +315,7 @@ private void runGameLoopStates(CoreLoopState coreLoopState, float elapsedFixedTi
315315 for (GameLoopState gameLoopState : gameLoopStates .get (coreLoopState )) {
316316 currentGameLoopState = gameLoopState ;
317317 gameLoopState .accept (elapsedFixedTime );
318- fireNextGameEvents (gameLoopState );
318+ fireNextEvents (gameLoopState );
319319 }
320320 }
321321
@@ -325,19 +325,19 @@ private void fireNextCoreEvents(CoreLoopState coreLoopState) {
325325 }
326326 }
327327
328- private void fireNextGameEvents (GameLoopState gameLoopState ) {
329- synchronized (nextGameEvents ) {
330- fireNextEvents (nextGameEvents .get (gameLoopState ));
328+ private void fireNextEvents (GameLoopState gameLoopState ) {
329+ synchronized (nextEvents ) {
330+ fireNextEvents (nextEvents .get (gameLoopState ));
331331 }
332332 }
333333
334- private void fireNextEvents (Queue <? extends GameEvent > gameEvents ) {
334+ private void fireNextEvents (Queue <? extends Event > gameEvents ) {
335335 if (gameEvents == null || gameEvents .isEmpty ()) {
336336 return ;
337337 }
338338
339339 while (!gameEvents .isEmpty ()) {
340- GameEvent nextEvent = gameEvents .poll ();
340+ Event nextEvent = gameEvents .poll ();
341341 fireEvent (nextEvent );
342342 }
343343 }
@@ -360,8 +360,8 @@ public void reset() {
360360 loopStates .clear ();
361361 }
362362 nextLoopStates .clear ();
363- for (Queue <GameEvent > gameEvents : nextCoreEvents .values ()) {
364- gameEvents .clear ();
363+ for (Queue <Event > events : nextCoreEvents .values ()) {
364+ events .clear ();
365365 }
366366
367367 currentGameLoopState = NoState ;
@@ -372,7 +372,7 @@ public void reset() {
372372 }
373373
374374 public void clear () {
375- nextGameEvents .clear ();
375+ nextEvents .clear ();
376376 gameEventObservers .clear ();
377377 gameEventHandlers .clear ();
378378 }
0 commit comments