UNPKG

wonder.js

Version:
88 lines (75 loc) 2.88 kB
'use strict'; var Log$WonderLog = require("wonder-log/lib/js/src/Log.js"); var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js"); var NumberService$Wonderjs = require("../../../primitive/NumberService.js"); var StateDataMain$Wonderjs = require("../../../state/main/data/StateDataMain.js"); var IsDebugMainService$Wonderjs = require("../../../state/main/state/IsDebugMainService.js"); function getGameTime(param) { return param[/* gameTime */4]; } function getFps(param) { return param[/* fps */5]; } function getElapsed(param) { return param[/* elapsed */0]; } function _computeFps(deltaTime, lastTime) { if (lastTime !== undefined) { return 1000 / deltaTime; } else { return 60; } } function tick(elapsed, record) { var lastTime = record[/* lastTime */3]; var deltaTime = lastTime !== undefined ? elapsed - lastTime : elapsed; return /* record */[ /* elapsed */record[/* elapsed */0], /* startTime */record[/* startTime */1], /* deltaTime */deltaTime, /* lastTime */elapsed, /* gameTime */elapsed / 1000, /* fps */_computeFps(deltaTime, lastTime) ]; } function _getNow(param) { return window.performance.now(); } function start(record) { return /* record */[ /* elapsed */0, /* startTime */window.performance.now(), /* deltaTime */record[/* deltaTime */2], /* lastTime */record[/* lastTime */3], /* gameTime */record[/* gameTime */4], /* fps */record[/* fps */5] ]; } function computeElapseTime(time, record) { return Contract$WonderLog.ensureCheck((function (param) { var elapsed = param[/* elapsed */0]; return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("elapsed >= 0", "is " + (String(elapsed) + "")), (function (param) { return Contract$WonderLog.Operators[/* >=. */8](elapsed, 0); })); }), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData), /* record */[ /* elapsed */NumberService$Wonderjs.leastFloat(0, time - record[/* startTime */1]), /* startTime */record[/* startTime */1], /* deltaTime */record[/* deltaTime */2], /* lastTime */record[/* lastTime */3], /* gameTime */record[/* gameTime */4], /* fps */record[/* fps */5] ]); } var starting_fps = 60; var gametime_scale = 1000; exports.starting_fps = starting_fps; exports.gametime_scale = gametime_scale; exports.getGameTime = getGameTime; exports.getFps = getFps; exports.getElapsed = getElapsed; exports._computeFps = _computeFps; exports.tick = tick; exports._getNow = _getNow; exports.start = start; exports.computeElapseTime = computeElapseTime; /* Log-WonderLog Not a pure module */