1/* 2 * GDevelop JS Platform 3 * Copyright 2013-2016 Florian Rival ([email protected]). All rights reserved. 4 * This project is released under the MIT License. 5 */ 6 7/** 8 * Tools related to runtime scene, for events generated code. 9 * @memberof gdjs.evtTools 10 * @class runtimeScene 11 * @static 12 * @private 13 */ 14gdjs.evtTools.runtimeScene = gdjs.evtTools.runtimeScene || {}; 15 16gdjs.evtTools.runtimeScene.sceneJustBegins = function(runtimeScene) { 17 return runtimeScene.getTimeManager().isFirstFrame(); 18}; 19 20gdjs.evtTools.runtimeScene.sceneJustResumed = function(runtimeScene) { 21 return runtimeScene.sceneJustResumed(); 22}; 23 24gdjs.evtTools.runtimeScene.getSceneName = function(runtimeScene) { 25 return runtimeScene.getName(); 26}; 27 28gdjs.evtTools.runtimeScene.setBackgroundColor = function(runtimeScene, rgbColor) { 29 30 var colors = rgbColor.split(";"); 31 if ( colors.length < 3 ) return; 32 33 runtimeScene.setBackgroundColor(parseInt(colors[0]), 34 parseInt(colors[1]), 35 parseInt(colors[2])); 36}; 37 38gdjs.evtTools.runtimeScene.getElapsedTimeInSeconds = function(runtimeScene) { 39 return runtimeScene.getTimeManager().getElapsedTime() / 1000; 40}; 41 42gdjs.evtTools.runtimeScene.setTimeScale = function(runtimeScene, timeScale) { 43 return runtimeScene.getTimeManager().setTimeScale(timeScale); 44}; 45 46gdjs.evtTools.runtimeScene.getTimeScale = function(runtimeScene) { 47 return runtimeScene.getTimeManager().getTimeScale(); 48}; 49 50gdjs.evtTools.runtimeScene.timerElapsedTime = function(runtimeScene, timeInSeconds, timerName) { 51 var timeManager = runtimeScene.getTimeManager(); 52 if ( !timeManager.hasTimer(timerName) ) { 53 timeManager.addTimer(timerName); 54 return false; 55 } 56 57 return timeManager.getTimer(timerName).getTime() / 1000 >= timeInSeconds; 58}; 59 60gdjs.evtTools.runtimeScene.timerPaused = function(runtimeScene, timerName) { 61 var timeManager = runtimeScene.getTimeManager(); 62 if ( !timeManager.hasTimer(timerName) ) return false; 63 64 return timeManager.getTimer(timerName).isPaused(); 65}; 66 67gdjs.evtTools.runtimeScene.resetTimer = function(runtimeScene, timerName) { 68 var timeManager = runtimeScene.getTimeManager(); 69 if ( !timeManager.hasTimer(timerName) ) 70 timeManager.addTimer(timerName); 71 else 72 timeManager.getTimer(timerName).reset(); 73}; 74 75gdjs.evtTools.runtimeScene.pauseTimer = function(runtimeScene, timerName) { 76 var timeManager = runtimeScene.getTimeManager(); 77 if ( !timeManager.hasTimer(timerName) ) timeManager.addTimer(timerName); 78 79 timeManager.getTimer(timerName).setPaused(true); 80}; 81 82gdjs.evtTools.runtimeScene.unpauseTimer = function(runtimeScene, timerName) { 83 var timeManager = runtimeScene.getTimeManager(); 84 if ( !timeManager.hasTimer(timerName) ) timeManager.addTimer(timerName); 85 86 return timeManager.getTimer(timerName).setPaused(false); 87}; 88 89gdjs.evtTools.runtimeScene.removeTimer = function(runtimeScene, timerName) { 90 var timeManager = runtimeScene.getTimeManager(); 91 timeManager.removeTimer(timerName); 92}; 93 94gdjs.evtTools.runtimeScene.getTimerElapsedTimeInSeconds = function(runtimeScene, timerName) { 95 var timeManager = runtimeScene.getTimeManager(); 96 if (!timeManager.hasTimer(timerName)) return 0; 97 98 return timeManager.getTimer(timerName).getTime() / 1000; 99}; 100 101gdjs.evtTools.runtimeScene.getTimeFromStartInSeconds = function(runtimeScene) { 102 return runtimeScene.getTimeManager().getTimeFromStart() / 1000; 103}; 104 105gdjs.evtTools.runtimeScene.getTime = function(runtimeScene, what) { 106 if ( what === "timestamp" ) { 107 return Date.now(); 108 } 109 110 var now = new Date(); 111 112 if ( what === "hour" ) 113 return now.getHours(); 114 else if ( what === "min" ) 115 return now.getMinutes(); 116 else if ( what === "sec" ) 117 return now.getSeconds(); 118 else if ( what === "mday" ) 119 return now.getDate(); 120 else if ( what === "mon" ) 121 return now.getMonth(); 122 else if ( what === "year" ) 123 return now.getFullYear() - 1900; //Conform to the C way of returning years. 124 else if ( what === "wday" ) 125 return now.getDay(); 126 else if ( what === "yday" ) { 127 var start = new Date(now.getFullYear(), 0, 0); 128 var diff = now - start; 129 var oneDay = 1000 * 60 * 60 * 24; 130 return Math.floor(diff / oneDay); 131 } 132 133 return 0; 134}; 135 136gdjs.evtTools.runtimeScene.replaceScene = function(runtimeScene, newSceneName, clearOthers) { 137 if (!runtimeScene.getGame().getSceneData(newSceneName)) return; 138 139 runtimeScene.requestChange(clearOthers ? 140 gdjs.RuntimeScene.CLEAR_SCENES : 141 gdjs.RuntimeScene.REPLACE_SCENE, newSceneName); 142}; 143 144gdjs.evtTools.runtimeScene.pushScene = function(runtimeScene, newSceneName) { 145 if (!runtimeScene.getGame().getSceneData(newSceneName)) return; 146 147 runtimeScene.requestChange(gdjs.RuntimeScene.PUSH_SCENE, newSceneName); 148}; 149 150gdjs.evtTools.runtimeScene.popScene = function(runtimeScene) { 151 runtimeScene.requestChange(gdjs.RuntimeScene.POP_SCENE); 152}; 153 154gdjs.evtTools.runtimeScene.stopGame = function(runtimeScene) { 155 runtimeScene.requestChange(gdjs.RuntimeScene.STOP_GAME); 156}; 157 158gdjs.evtTools.runtimeScene.createObjectsFromExternalLayout = function(scene, externalLayout, xPos, yPos) { 159 var externalLayoutData = scene.getGame().getExternalLayoutData(externalLayout); 160 if ( externalLayoutData === null ) return; 161 162 scene.createObjectsFrom(externalLayoutData.instances, xPos, yPos); 163};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.