UNPKG

wonder.js

Version:
71 lines (65 loc) 3.16 kB
'use strict'; var Js_option = require("bs-platform/lib/js/js_option.js"); var ArrayService$Wonderjs = require("../../service/atom/ArrayService.js"); var ConvertCommon$Wonderjs = require("./ConvertCommon.js"); var OptionService$Wonderjs = require("../../service/atom/OptionService.js"); var Caml_builtin_exceptions = require("bs-platform/lib/js/caml_builtin_exceptions.js"); var ConvertMeshUtils$Wonderjs = require("./utils/ConvertMeshUtils.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); function _convertByMesh(meshes, geometryGameObjectIndices, geometryIndices) { return geometryGameObjectIndices.map((function (param, index) { var geometryIndex = geometryIndices[index]; var match = meshes[geometryIndex]; var primitive = ConvertCommon$Wonderjs.getPrimitiveData(match[/* primitives */0]); var mode = primitive[/* mode */3]; var match$1 = ConvertMeshUtils$Wonderjs.doesPrimitiveHasMaterial(primitive); if (match$1) { var tmp; if (mode !== undefined) { var match$2 = mode; if (match$2 > 6 || match$2 < 0) { throw [ Caml_builtin_exceptions.match_failure, /* tuple */[ "ConvertMeshRenderersSystem.re", 16, 15 ] ]; } else { tmp = match$2; } } else { tmp = /* Triangles */4; } return /* record */[ /* drawMode */tmp, /* isRender */true ]; } })); } function convertToMeshRenderers(param, param$1) { var extras = param$1[/* extras */15]; var meshes = param$1[/* meshes */11]; var geometryIndices = param[/* componentIndices */1]; var geometryGameObjectIndices = param[/* gameObjectIndices */0]; if (extras !== undefined) { var meshRenderers = extras[/* meshRenderers */4]; if (Js_option.isSome(meshRenderers) && OptionService$Wonderjs.unsafeGet(meshRenderers).length > 0) { return ArrayService$WonderCommonlib.reduceOneParami((function (arr, param, index) { return ArrayService$Wonderjs.push(/* record */[ /* drawMode */param[/* drawMode */0], /* isRender */param[/* isRender */1] ], arr); }), /* array */[], OptionService$Wonderjs.unsafeGet(meshRenderers)); } else { return _convertByMesh(meshes, geometryGameObjectIndices, geometryIndices); } } else { return _convertByMesh(meshes, geometryGameObjectIndices, geometryIndices); } } exports._convertByMesh = _convertByMesh; exports.convertToMeshRenderers = convertToMeshRenderers; /* ArrayService-Wonderjs Not a pure module */