//timerTick
timerTickEventListener.manager = this;
window.setInterval(timerTickEventListener, 1000/this.tickPerSecond);
+
+ //各種コールバック(使用元のスクリプトで使う用)
+ this.stageStartedEvent = null; //ステージが開始されたときに呼ばれる。引数: stage
+ this.stageStoppedEvent = null; //ステージが終了されたときに呼ばれる。引数: stage
}
GameManager.prototype = {
timerTick: function(){
this.networkManager.joinStage(stage);
//runningStageに登録することで、イベントの通知が開始され、GameStageは実行状態に入る。
this.runningStage = stage;
+
+ if(this.stageStartedEvent)
+ {
+ this.stageStartedEvent.apply(window, [stage]);
+ }
+
},
pauseStage: function(func){
//ステージの実行を一時停止する。一時停止中、funcに指定された関数が毎tick毎に呼ばれる
{
this.removeWidget(this.runningWidgets[0]);
}
+
+ if(this.stageStoppedEvent)
+ {
+ this.stageStoppedEvent.apply(window, [aGameStage]);
+ }
}
},
loadStageFromLocal: function(code){
//最初はグローバルデバッグモードはオフ
mainManager.debugText = null;
+ //コールバック指定
+ mainManager.stageStartedEvent = function(stage)
+ {
+ document.getElementById('MainArea').style.visibility = 'visible';
+ };
+ mainManager.stageStoppedEvent = function(stage)
+ {
+ document.getElementById('MainArea').style.visibility = 'hidden';
+ };
+
var prev;
if(prev = localStorage.getItem("previewStage"))
{
</script>
</head>
<body>
- <div id="MainArea" style="width: 640px; height: 480px"></div>
+ <div id="MainArea" style="width: 640px; height: 480px; visibility: hidden"></div>
<div id="Resources"></div>
<div style="z-index: 1;">
<form><textarea id="DebugText" rows="8" cols="64"></textarea></form>