@@ -6,9 +6,10 @@ var socket = io();
6
6
7
7
// SAVING LOCAL STATE -- GLOBAL VARS (ugh)
8
8
var currentPlayerId ;
9
+ var userName ;
9
10
var nextPlayerId ;
10
11
var animationId ;
11
- var currentGist ;
12
+ var currentGist ; // gistData: {id, url, owner}
12
13
// Meant to be temporary:
13
14
var currentAccessToken ;
14
15
@@ -128,6 +129,9 @@ function handleUserLogin (userData) {
128
129
console . log ( '**************** Logged in! GitHub User Data: *********************' ) ;
129
130
console . log ( userData ) ;
130
131
132
+ // Save user's GitHub name to local game state
133
+ userName = userData . login ;
134
+
131
135
// Update views with user's GitHub name and avatar
132
136
updateLoggedInView ( userData . login , userData . avatar_url ) ;
133
137
@@ -295,15 +299,15 @@ function handleTurnChange (turnData) {
295
299
if ( socket . id === previousPlayerId && turnData . gist != null ) {
296
300
console . log ( "User's turn is about to end." ) ;
297
301
298
- // If the current player is about to change ,
299
- if ( currentPlayerId !== previousPlayerId ) {
302
+ // If the current player does NOT own the current Gist ,
303
+ if ( userName !== turnData . gist . owner ) {
300
304
301
305
//console.log("handleTurnChange: now forking and editing gist " + turnData.gist.id);
302
306
303
- // fork and edit the current gist on behalf of previous player and send new ID to server
307
+ // Fork/ edit current Gist on behalf of player whose turn is about to end, and send new ID to server
304
308
forkAndEditGist ( turnData . gist . id , editor . getValue ( ) ) ;
305
309
306
- // Otherwise, JUST EDIT the current gist on behalf of previous player and send new ID to server
310
+ // Otherwise, JUST EDIT the current Gist and send new ID to server
307
311
} else {
308
312
309
313
//console.log("handleTurnChange: now editing gist " + turnData.gist.id);
@@ -550,12 +554,12 @@ function handleCreateNewGist() {
550
554
console . dir ( gistObject ) ;
551
555
552
556
// Save new gist ID and URL locally
553
- currentGist = { id : gistObject . id , url : gistObject . html_url } ;
557
+ currentGist = { id : gistObject . id , url : gistObject . html_url , owner : gistObject . owner . login } ;
554
558
555
559
// Send new gist data to server
556
- socket . emit ( 'newGistLink' , { id : gistObject . id , url : gistObject . html_url } ) ;
560
+ socket . emit ( 'newGistLink' , { id : gistObject . id , url : gistObject . html_url , owner : gistObject . owner . login } ) ;
557
561
558
- updateCurrentGistView ( { id : gistObject . id , url : gistObject . html_url } ) ;
562
+ updateCurrentGistView ( { id : gistObject . id , url : gistObject . html_url , owner : gistObject . owner . login } ) ;
559
563
560
564
} , handleError ) ;
561
565
@@ -602,12 +606,12 @@ function forkAndEditGist(gistId, codeEditorContent) {
602
606
console . dir ( gistObject ) ;
603
607
604
608
// Send new gist data to server
605
- socket . emit ( 'newGistLink' , { id : gistObject . id , url : gistObject . html_url } ) ;
609
+ socket . emit ( 'newGistLink' , { id : gistObject . id , url : gistObject . html_url , owner : gistObject . owner . login } ) ;
606
610
607
611
// Then edit the new gist:
608
612
editGist ( gistObject . id , codeEditorContent ) ;
609
613
610
- updateCurrentGistView ( { id : gistObject . id , url : gistObject . html_url } ) ;
614
+ updateCurrentGistView ( { id : gistObject . id , url : gistObject . html_url , owner : gistObject . owner . login } ) ;
611
615
612
616
} , handleError ) ;
613
617
0 commit comments