3 lines
11 KiB
JavaScript
3 lines
11 KiB
JavaScript
var gdjs;(function(n){const h=new n.Logger("RuntimeScene"),c=new n.Logger("RuntimeScene (setup warnings)");class u extends n.RuntimeInstanceContainer{constructor(e){super(e);this._eventsFunction=null;this._idToCallbackMap=null;this._lastId=0;this._name="";this._gameStopRequested=!1;this._requestedScene="";this._resourcesUnloading="inherit";this._asyncTasksManager=new n.AsyncTasksManager;this._isLoaded=!1;this._isJustResumed=!1;this._backgroundColor=0;this._clearCanvas=!0;this._profiler=null;this._onProfilerStopped=null;this.networkId=null;this._runtimeGame=e,this._variables=new n.VariablesContainer,this._variablesByExtensionName=new Map,this._timeManager=new n.TimeManager,this._requestedChange=d.CONTINUE,this._cachedGameResolutionWidth=e?e.getGameResolutionWidth():0,this._cachedGameResolutionHeight=e?e.getGameResolutionHeight():0,this._renderer=new n.RuntimeSceneRenderer(this,e?e.getRenderer():null),this._debuggerRenderer=new n.DebuggerRenderer(this),this.onGameResolutionResized()}addLayer(e){const t=new n.Layer(e,this);this._layers.put(e.name,t),this._orderedLayers.push(t)}onGameResolutionResized(){const e=this.getViewportOriginX(),t=this.getViewportOriginY();this._cachedGameResolutionWidth=this._runtimeGame?this._runtimeGame.getGameResolutionWidth():0,this._cachedGameResolutionHeight=this._runtimeGame?this._runtimeGame.getGameResolutionHeight():0;for(const r in this._layers.items)this._layers.items.hasOwnProperty(r)&&this._layers.items[r].onGameResolutionResized(e,t);this._renderer.onGameResolutionResized()}loadFromScene(e,t){if(!e){h.error("loadFromScene was called without a scene");return}const{sceneData:r,usedExtensionsWithVariablesData:s}=e;this._isLoaded&&this.unloadScene(),this._runtimeGame&&this._runtimeGame.getRenderer().setWindowTitle(r.title),this._name=r.name,this._resourcesUnloading=r.resourcesUnloading||"inherit",this.setBackgroundColor(r.r,r.v,r.b);for(let i=0,o=r.layers.length;i<o;++i)this.addLayer(r.layers[i]);this._variables=new n.VariablesContainer(r.variables);for(const i of s)this._variablesByExtensionName.set(i.name,new n.VariablesContainer(i.sceneVariables));for(let i=0,o=r.behaviorsSharedData.length;i<o;++i){const l=r.behaviorsSharedData[i];this.setInitialSharedDataForBehavior(l.name,l)}const a=this.getGame().getInitialObjectsData();for(let i=0,o=a.length;i<o;++i)this.registerObject(a[i]);for(let i=0,o=r.objects.length;i<o;++i)this.registerObject(r.objects[i]);if((!t||!t.skipCreatingInstances)&&this.createObjectsFrom(r.instances,0,0,0,!0,{excludedObjectNames:t?.excludedObjectNames}),this._setLayerDefaultZOrders(),this.setEventsGeneratedCodeFunction(r),this._onceTriggers=new n.OnceTriggers,this._runtimeGame&&!this._runtimeGame.wasFirstSceneLoaded())for(let i=0;i<n.callbacksFirstRuntimeSceneLoaded.length;++i)n.callbacksFirstRuntimeSceneLoaded[i](this);for(let i=0;i<n.callbacksRuntimeSceneLoaded.length;++i)n.callbacksRuntimeSceneLoaded[i](this);r.stopSoundsOnStartup&&(!t||!t.skipStoppingSoundsOnStartup)&&this._runtimeGame&&this._runtimeGame.getSoundManager().clearAll(),this._isLoaded=!0,this._timeManager.reset()}getInitialSharedDataForBehavior(e){const t=super.getInitialSharedDataForBehavior(e);return t||h.error("Can't find shared data for behavior with name: "+e),t}onPause(){const e=this.getAdhocListOfAllInstances();for(let t=0,r=e.length;t<r;++t)e[t].onScenePaused(this);for(let t=0;t<n.callbacksRuntimeScenePaused.length;++t)n.callbacksRuntimeScenePaused[t](this)}onResume(){this._isJustResumed=!0;const e=this.getAdhocListOfAllInstances();for(let t=0,r=e.length;t<r;++t)e[t].onSceneResumed(this);for(let t=0;t<n.callbacksRuntimeSceneResumed.length;++t)n.callbacksRuntimeSceneResumed[t](this)}unloadScene(){if(!this._isLoaded)return;this._profiler&&this.stopProfiler();for(let t=0;t<n.callbacksRuntimeSceneUnloading.length;++t)n.callbacksRuntimeSceneUnloading[t](this);const e=this.getAdhocListOfAllInstances();for(let t=0,r=e.length;t<r;++t){const s=e[t];s.onDeletedFromScene(),s.onDestroyed()}this._renderer&&this._renderer.onSceneUnloaded();for(let t=0;t<n.callbacksRuntimeSceneUnloaded.length;++t)n.callbac
|
|||
|
|
//# sourceMappingURL=runtimescene.js.map
|