@@ -56,6 +56,8 @@ var SceneManager = new Class({
5656 } ) ;
5757 }
5858 }
59+
60+ game . events . once ( 'boot' , this . boot , this ) ;
5961 } ,
6062
6163 /**
@@ -185,11 +187,16 @@ var SceneManager = new Class({
185187 scene . init . call ( scene , scene . sys . settings . data ) ;
186188 }
187189
188- var loader = scene . sys . load ;
189-
190- loader . reset ( ) ;
190+ var loader ;
191191
192- if ( scene . preload )
192+ if ( scene . sys . load )
193+ {
194+ loader = scene . sys . load ;
195+
196+ loader . reset ( ) ;
197+ }
198+
199+ if ( loader && scene . preload )
193200 {
194201 scene . preload ( this . game ) ;
195202
@@ -349,6 +356,7 @@ var SceneManager = new Class({
349356
350357 // Default required functions
351358
359+ /*
352360 if (!newScene.init)
353361 {
354362 newScene.init = NOOP;
@@ -368,16 +376,19 @@ var SceneManager = new Class({
368376 {
369377 newScene.shutdown = NOOP;
370378 }
379+ */
371380
372381 if ( ! newScene . update )
373382 {
374383 newScene . update = NOOP ;
375384 }
376385
386+ /*
377387 if (!newScene.render)
378388 {
379389 newScene.render = NOOP;
380390 }
391+ */
381392
382393 return newScene ;
383394 }
@@ -446,11 +457,16 @@ var SceneManager = new Class({
446457
447458 // Extract callbacks or set NOOP
448459
449- var defaults = [ 'init' , 'preload' , 'create' , 'shutdown' , ' update', 'render' ] ;
460+ var defaults = [ 'init' , 'preload' , 'create' , 'update' , 'render' ] ;
450461
451462 for ( var i = 0 ; i < defaults . length ; i ++ )
452463 {
453- newScene [ defaults [ i ] ] = GetValue ( sceneConfig , defaults [ i ] , NOOP ) ;
464+ var sceneCallback = GetValue ( sceneConfig , defaults [ i ] , null ) ;
465+
466+ if ( sceneCallback )
467+ {
468+ newScene [ defaults [ i ] ] = sceneCallback ;
469+ }
454470 }
455471
456472 // Now let's move across any other functions or properties that may exist
@@ -932,7 +948,12 @@ var SceneManager = new Class({
932948
933949 scene . sys . start ( data ) ;
934950
935- var loader = scene . sys . load ;
951+ var loader ;
952+
953+ if ( scene . sys . load )
954+ {
955+ loader = scene . sys . load ;
956+ }
936957
937958 // Files payload?
938959 if ( loader && Array . isArray ( scene . sys . settings . files ) )
0 commit comments