UNPKG

wonder.js

Version:
90 lines (78 loc) 5.05 kB
'use strict'; var Most = require("most"); var Curry = require("bs-platform/lib/js/curry.js"); var OptionService$Wonderjs = require("../../service/atom/OptionService.js"); var StateDataMain$Wonderjs = require("../../service/state/main/data/StateDataMain.js"); var AssembleCommon$Wonderjs = require("./AssembleCommon.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var ExecIMGUIMainService$Wonderjs = require("../../service/state/main/imgui/ExecIMGUIMainService.js"); var StateDataMainService$Wonderjs = require("../../service/state/main/state/StateDataMainService.js"); var ExtendIMGUIMainService$Wonderjs = require("../../service/state/main/imgui/extend/ExtendIMGUIMainService.js"); var SerializeAllIMGUIService$Wonderjs = require("../../service/record/all/imgui/SerializeAllIMGUIService.js"); var SetAssetIMGUIMainService$Wonderjs = require("../../service/state/main/imgui/SetAssetIMGUIMainService.js"); function _setExtendData(param, state) { return Curry._2(ExtendIMGUIMainService$Wonderjs.ExtendData[/* Skin */2][/* setAllSkinDataMap */1], SerializeAllIMGUIService$Wonderjs.Skin[/* deserializeAllSkinDataMap */1](param[/* skinData */1][/* allSkinDataMap */0]), Curry._2(ExtendIMGUIMainService$Wonderjs.ExtendData[/* CustomControl */1][/* setFuncMap */1], SerializeAllIMGUIService$Wonderjs.CustomControl[/* deserializeFuncMap */1](param[/* customControlData */0][/* funcMap */0]), state)); } function _setFontData(fontData, param, binBuffer, state) { var match = OptionService$Wonderjs.isJsonSerializedValueNone(fontData); if (match) { return state; } else { var match$1 = OptionService$Wonderjs.unsafeGetJsonSerializedValue(fontData); var bitmapData = match$1[/* bitmapData */1]; var fntData = match$1[/* fntData */0]; return SetAssetIMGUIMainService$Wonderjs.setSettedAssetBitmapData(bitmapData[/* name */0], AssembleCommon$Wonderjs.getArrayBuffer(binBuffer, bitmapData[/* bufferView */1], param[/* bufferViews */9]), SetAssetIMGUIMainService$Wonderjs.setSettedAssetFntData(fntData[/* name */0], fntData[/* content */1], state)); } } function _setCustomImagesData(customImagesData, param, binBuffer, state) { var bufferViews = param[/* bufferViews */9]; var match = OptionService$Wonderjs.isJsonSerializedValueNone(customImagesData); if (match) { return state; } else { var match$1 = OptionService$Wonderjs.unsafeGetJsonSerializedValue(customImagesData); return ArrayService$WonderCommonlib.reduceOneParam((function (state, param) { return SetAssetIMGUIMainService$Wonderjs.addSettedAssetCustomImageData(/* tuple */[ AssembleCommon$Wonderjs.getArrayBuffer(binBuffer, param[/* bufferView */1], bufferViews), param[/* id */0], param[/* mimeType */2] ], state); }), state, match$1[/* customImages */0]); } } function _setAndInitAssetData(param, wd, binBuffer, state) { return SetAssetIMGUIMainService$Wonderjs.initSettedAssets(_setCustomImagesData(param[/* customImagesData */1], wd, binBuffer, _setFontData(param[/* fontData */0], wd, binBuffer, state))); } function _addAllExecFuncData(execFuncDataArr, state) { return ArrayService$WonderCommonlib.reduceOneParam((function (state, param) { return ExecIMGUIMainService$Wonderjs.addExecFuncData(param[/* name */3], param[/* customData */1], param[/* execOrder */2], param[/* execFunc */0], state); }), state, SerializeAllIMGUIService$Wonderjs.Exec[/* deserializeExecFuncDataArrToWonderType */5](execFuncDataArr)); } function _setExecData(param, state) { return _addAllExecFuncData(param[/* execFuncDataArr */0], ExecIMGUIMainService$Wonderjs.clearExecFuncDataArr(state)); } function _handle(wd, binBuffer, state) { var match = OptionService$Wonderjs.unsafeGetJsonSerializedValue(wd[/* scene */1][/* imgui */2]); return _setAndInitAssetData(match[/* assetData */0], wd, binBuffer, _setExtendData(match[/* extendData */2], _setExecData(match[/* execData */1], state))); } function getHasIMGUIData(wd) { return !OptionService$Wonderjs.isJsonSerializedValueNone(wd[/* scene */1][/* imgui */2]); } function handleIMGUI(isHandleIMGUI, wd, binBuffer, state) { var hasIMGUIData = getHasIMGUIData(wd); var match = isHandleIMGUI && hasIMGUIData; return Most.map((function (state) { StateDataMainService$Wonderjs.setState(StateDataMain$Wonderjs.stateData, state); return /* () */0; }), match ? _handle(wd, binBuffer, state) : Most.just(state)); } exports._setExtendData = _setExtendData; exports._setFontData = _setFontData; exports._setCustomImagesData = _setCustomImagesData; exports._setAndInitAssetData = _setAndInitAssetData; exports._addAllExecFuncData = _addAllExecFuncData; exports._setExecData = _setExecData; exports._handle = _handle; exports.getHasIMGUIData = getHasIMGUIData; exports.handleIMGUI = handleIMGUI; /* most Not a pure module */