@@ -243,6 +243,8 @@ function handleGameState (serverGameState) {
243
243
// If no Gist exists, create it!
244
244
if ( gameState . currentGist == null ) {
245
245
createNewGist ( ) ;
246
+ } else { // Otherwise, if a Gist does exist, display it!
247
+ updateCurrentGistView ( gameState . currentGist ) ;
246
248
}
247
249
248
250
// Update UI
@@ -306,14 +308,13 @@ function handleTurnChange (disconnectedPlayerId) {
306
308
} else {
307
309
editGist ( gameState . currentGist . id , editor . getValue ( ) ) ;
308
310
console . log ( "handleTurnChange: now editing gist " + gameState . currentGist . id ) ;
309
- }
311
+ }
310
312
}
311
313
}
312
314
313
315
changeTurn ( ) ;
314
-
315
- console . log ( "turn changed!" ) ;
316
- console . log ( "turnIndex: " + gameState . turnIndex + ", # players: " + gameState . players . length , ", current player: " + getCurrentPlayer ( ) . id + " - " + getCurrentPlayer ( ) . login ) ;
316
+
317
+ console . log ( "TURN CHANGED! turnIndex: " + gameState . turnIndex + ", # players: " + gameState . players . length , ", current player: " + getCurrentPlayer ( ) . id + " - " + getCurrentPlayer ( ) . login ) ;
317
318
318
319
// If user is no longer the current player, prevent them from typing/broadcasting!
319
320
if ( socket . id !== getCurrentPlayer ( ) . id ) {
@@ -335,9 +336,12 @@ function handleTurnChange (disconnectedPlayerId) {
335
336
336
337
// When receiving "newGist" event from server,
337
338
function handleNewGist ( gistData ) {
338
- // Update local state
339
339
console . log ( "called handleNewGist at " + new Date ( ) . toString ( ) . substring ( 16 , 25 ) , 'color: green; font-weight: bold;' ) ;
340
340
console . log ( gistData ) ;
341
+
342
+ // Update local state
343
+ gameState . currentGist = gistData ;
344
+
341
345
// Update views
342
346
updateCurrentGistView ( gistData ) ;
343
347
}
@@ -508,13 +512,11 @@ function createNewGist() {
508
512
509
513
var gistObject = JSON . parse ( responseText ) ;
510
514
511
- // Save new gist ID and URL locally
512
- currentGist = { id : gistObject . id , url : gistObject . html_url , owner : gistObject . owner . login } ;
515
+ // Save new Gist data locally and update UI
516
+ handleNewGist ( { id : gistObject . id , url : gistObject . html_url , owner : gistObject . owner . login } ) ;
513
517
514
- // Send new gist data to server
515
- socket . emit ( 'newGist' , { id : gistObject . id , url : gistObject . html_url , owner : gistObject . owner . login } ) ;
516
-
517
- updateCurrentGistView ( { id : gistObject . id , url : gistObject . html_url , owner : gistObject . owner . login } ) ;
518
+ // Send gist data to server
519
+ socket . emit ( 'newGist' , gameState . currentGist ) ;
518
520
519
521
} , handleError ) ;
520
522
0 commit comments