wonder.js
Version:
78 lines (68 loc) • 3 kB
JavaScript
;
var Js_option = require("bs-platform/lib/js/js_option.js");
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var Log$WonderLog = require("wonder-log/lib/js/src/Log.js");
var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js");
var ConvertCommon$Wonderjs = require("./ConvertCommon.js");
var OptionService$Wonderjs = require("../../service/atom/OptionService.js");
var StateDataMain$Wonderjs = require("../../service/state/main/data/StateDataMain.js");
var IsDebugMainService$Wonderjs = require("../../service/state/main/state/IsDebugMainService.js");
function getRootNodeIndexs(param) {
return OptionService$Wonderjs.unsafeGet(param[/* nodes */0]);
}
function _getDefaultIsRoot(param) {
return true;
}
function _convertIMGUI(extras) {
return Js_option.andThen((function (param) {
return param[/* imgui */0];
}), extras);
}
function _convertSkybox(extras) {
return Js_option.andThen((function (param) {
var skybox = param[/* skybox */1];
if (skybox !== undefined) {
return /* record */[/* cubemap */skybox[/* cubemap */0]];
}
}), extras);
}
function _convertIsRoot(extras) {
if (extras !== undefined) {
var isRoot = extras[/* isRoot */2];
if (isRoot !== undefined) {
return isRoot;
} else {
return true;
}
} else {
return true;
}
}
function convertToScene(ambientLightArr, param) {
var scenes = param[/* scenes */1];
Contract$WonderLog.requireCheck((function (param) {
Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("only has one scene", "not"), (function (param) {
return Contract$WonderLog.Operators[/* = */0](scenes.length, 1);
}));
return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("has one ambientLight at most", "not"), (function (param) {
return Contract$WonderLog.Operators[/* <= */11](ambientLightArr.length, 1);
}));
}), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData));
var match = ConvertCommon$Wonderjs.getScene(scenes, param[/* scene */2]);
var extras = match[/* extras */2];
var match$1 = ambientLightArr.length === 1;
return /* record */[
/* gameObjects */OptionService$Wonderjs.unsafeGet(match[/* nodes */0]),
/* ambientLight */match$1 ? /* record */[/* color */Caml_array.caml_array_get(ambientLightArr, 0)[/* color */0]] : undefined,
/* imgui */_convertIMGUI(extras),
/* skybox */_convertSkybox(extras),
/* isRoot */_convertIsRoot(extras)
];
}
exports.getRootNodeIndexs = getRootNodeIndexs;
exports._getDefaultIsRoot = _getDefaultIsRoot;
exports._convertIMGUI = _convertIMGUI;
exports._convertSkybox = _convertSkybox;
exports._convertIsRoot = _convertIsRoot;
exports.convertToScene = convertToScene;
/* Log-WonderLog Not a pure module */