@@ -35,10 +35,11 @@ public class Rectangles extends PApplet {
3535 public static Spawn [] spawnPoints = new Spawn [2 ];
3636 public static Random generator = new Random ();
3737 public static int deathPoints = 0 ;
38- public static Timeline globalTimeline = new GlobalTimeline (1000 /144 );
38+ public static Timeline globalTimeline = new GlobalTimeline (1000 /500 );
39+ public static Timeline eventTimeline = new LocalTimeline (globalTimeline , 1 );
3940 public static Timeline physicsTimeline = new LocalTimeline (globalTimeline , 1 );
40- public static Timeline networkTimeline = new LocalTimeline (globalTimeline , 3 );
41- public static Timeline renderTimeline = new LocalTimeline (globalTimeline , 3 );
41+ public static Timeline networkTimeline = new LocalTimeline (globalTimeline , 6 );
42+ public static Timeline renderTimeline = new LocalTimeline (globalTimeline , 6 );
4243 public static EventManager eventManager = new EventManager ();
4344 public static ExecutorService threadPool = Executors .newFixedThreadPool (NUM_THREADS );
4445
@@ -71,23 +72,22 @@ public Rectangles(boolean isServer) {
7172 * Just runs the game loop infinitely
7273 */
7374 public void runLoop () {
74- for (GameObj obj : movObjects ) {
75- eventManager .registerHandler (obj , Event .EVENT_COLLISION );
76- eventManager .registerHandler (obj , Event .EVENT_MOVEMENT );
77- eventManager .registerHandler (obj , Event .EVENT_PHYSICS );
78- if (obj .getType () == "player" ) {
79- eventManager .registerHandler (obj , Event .EVENT_INPUT );
80- eventManager .registerHandler (obj , Event .EVENT_DEATH );
81- eventManager .registerHandler (obj , Event .EVENT_SPAWN );
75+ if (this .isServer ) {
76+ for (GameObj obj : movObjects ) {
77+ eventManager .registerHandler (obj , Event .EVENT_COLLISION );
78+ eventManager .registerHandler (obj , Event .EVENT_MOVEMENT );
79+ eventManager .registerHandler (obj , Event .EVENT_PHYSICS );
80+ if (obj .getType () == "player" ) {
81+ eventManager .registerHandler (obj , Event .EVENT_INPUT );
82+ eventManager .registerHandler (obj , Event .EVENT_DEATH );
83+ eventManager .registerHandler (obj , Event .EVENT_SPAWN );
84+ }
85+ HashMap <String , Object > data = new HashMap <>();
86+ data .put ("caller" , obj .getUUID ());
87+ Event e = new Event (Event .EVENT_PHYSICS ,
88+ globalTimeline .getCurrentTime () + physicsTimeline .getTickSize (), data );
89+ eventManager .raiseEvent (e );
8290 }
83- HashMap <String , Object > data = new HashMap <>();
84- data .put ("caller" , obj .getUUID ());
85- Event e = new Event (Event .EVENT_PHYSICS , globalTimeline .getCurrentTime ()
86- + physicsTimeline .getTickSize (), data );
87- eventManager .raiseEvent (e );
88-
89-
90-
9191 }
9292 while (true ) {
9393 this .gameLoop (globalTimeline .resetDelta ());
@@ -100,16 +100,24 @@ public void runLoop() {
100100 */
101101 private void gameLoop (boolean delta ) {
102102 if (delta ) {
103- threadPool .execute (eventManager );
104- //this.updatePhysics(physicsTimeline.getAndResetDelta());
105- //this.updateNetwork(networkTimeline.resetDelta());
103+ if (this .isServer ) {
104+ this .updateEvent (eventTimeline .resetDelta ());
105+ // this.updatePhysics(physicsTimeline.getAndResetDelta());
106+ this .updateNetwork (networkTimeline .resetDelta ());
107+ }
106108 this .updateRender (renderTimeline .resetDelta ());
107109 }
108110 }
109111
110112 /* Update methods with deltas */
111113 // TODO: Determine if this is event the best way to do it...
112114
115+ private void updateEvent (boolean delta ) {
116+ if (delta ) {
117+ threadPool .execute (eventManager );
118+ }
119+ }
120+
113121 private void updateRender (boolean delta ) {
114122 if (delta ) {
115123 this .redraw ();
@@ -248,7 +256,7 @@ public void setup() {
248256
249257 } else {
250258 try {
251- this .localClient = new Client (this , new Socket ("127.0.0.1" , 9200 ), this . threadPool , null );
259+ this .localClient = new Client (this , new Socket ("127.0.0.1" , 9200 ), threadPool , null );
252260 } catch (IOException e ) {
253261 System .out .println ("Error opening local client socket" );
254262 e .printStackTrace ();
0 commit comments