5 files changed +47
-0
lines changed Original file line number Diff line number Diff line change
1
+ game_ * .json
Original file line number Diff line number Diff line change
1
+ Temporary storage for game data
Original file line number Diff line number Diff line change 1
1
var port = ( process . env . NODE_ENV == 'production' ) ? 80 : 3000
2
+ , fs = require ( 'fs' )
3
+ , util = require ( 'util' )
2
4
, express = require ( 'express' )
3
5
, app = express ( )
6
+ , gameId = 0
7
+ , gameFolder = 'games'
4
8
;
5
9
10
+ app . use ( express . bodyParser ( ) ) ;
6
11
app . use ( express . static ( __dirname + '/static' ) ) ;
7
12
13
+ app . post ( '/save' , function ( req , res ) {
14
+ gameId ++ ;
15
+
16
+ var gameData = req . body . data
17
+ , gameFilename = gameFolder + '/game_' + gameId + '.json'
18
+ ;
19
+
20
+ fs . writeFile ( gameFilename , gameData , function ( err ) {
21
+ var buf = gameFilename ;
22
+ if ( err ) buf = 'ERR' ;
23
+ res . send ( buf ) ;
24
+ } ) ;
25
+ } ) ;
26
+
8
27
app . get ( '/' , function ( req , res ) {
9
28
res . send ( 'Hello' ) ;
10
29
} ) ;
Original file line number Diff line number Diff line change @@ -97,9 +97,12 @@ <h4>Game</h4>
97
97
< ul >
98
98
< li > < label for ="game-title "> Title</ label > < input id ="game-title " class ="setting " type ="text " /> </ li >
99
99
< li > < label for ="game-subtitle "> Subtitle</ label > < input id ="game-subtitle " class ="setting " type ="text " /> </ li >
100
+ <!--
100
101
<li align="center"><br>Game.json</li>
101
102
<li align="center"><button id="export">Show</button> <button onclick="$('#export-out').style.visibility='hidden';">Hide</button></li>
102
103
<li align="center"><textarea id="export-out" readonly></textarea></li>
104
+ -->
105
+ < li align ="center "> < br /> < button onclick ="game.saveGame() "> Save</ button > </ li >
103
106
</ ul >
104
107
</ div >
105
108
Original file line number Diff line number Diff line change @@ -482,6 +482,28 @@ try {
482
482
}
483
483
484
484
}
485
+
486
+ , saveGame = function ( ) {
487
+ var data = 'data=' + JSON . stringify ( game . getGameData ( ) )
488
+ , saveURL = '/save'
489
+ ;
490
+
491
+ var xhr = new XMLHttpRequest ( ) ;
492
+ xhr . open ( 'POST' , saveURL , true ) ;
493
+ xhr . setRequestHeader ( 'Content-type' , 'application/x-www-form-urlencoded' ) ;
494
+ xhr . responseType = 'text' ;
495
+
496
+ xhr . onload = function ( ) {
497
+ var result = xhr . responseText ;
498
+ if ( result != 'ERR' )
499
+ console . log ( 'saved: ' + result )
500
+ else
501
+ console . warn ( 'error saving game!' )
502
+ ;
503
+ }
504
+
505
+ xhr . send ( encodeURI ( data ) ) ;
506
+ }
485
507
;
486
508
487
509
// Constructor
@@ -535,6 +557,7 @@ try {
535
557
, playerEventStart : playerEventStart
536
558
, playerEventStop : playerEventStop
537
559
, addWaveToLevel : addWaveToLevel
560
+ , saveGame : saveGame
538
561
539
562
// objects
540
563
, audio : audio
0 commit comments