wonder.js
Version:
80 lines (72 loc) • 3.39 kB
JavaScript
;
var ArrayService$Wonderjs = require("../../service/atom/ArrayService.js");
var ConvertCommon$Wonderjs = require("./ConvertCommon.js");
var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js");
var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js");
var _buildDefaultName = ConvertCommon$Wonderjs.buildDefaultGameObjectName;
function _getNames(param) {
var meshes = param[/* meshes */11];
return ArrayService$WonderCommonlib.reduceOneParami((function (nameArr, node, index) {
var name = node[/* name */0];
if (name !== undefined) {
return ArrayService$Wonderjs.push(name, nameArr);
} else {
var match = node[/* mesh */2];
if (match !== undefined) {
var match$1 = meshes[match];
var name$1 = match$1[/* name */1];
if (name$1 !== undefined) {
return ArrayService$Wonderjs.push(name$1, nameArr);
} else {
return ArrayService$Wonderjs.push(ConvertCommon$Wonderjs.buildDefaultGameObjectName(index), nameArr);
}
} else {
return ArrayService$Wonderjs.push(ConvertCommon$Wonderjs.buildDefaultGameObjectName(index), nameArr);
}
}
}), /* array */[], param[/* nodes */10]);
}
function _getIsActives(param) {
return ArrayService$WonderCommonlib.reduceOneParami((function (isActiveMap, param, index) {
var extras = param[/* extras */8];
if (extras !== undefined) {
var isActive = extras[/* isActive */8];
if (isActive !== undefined) {
return MutableSparseMapService$WonderCommonlib.set(index, isActive, isActiveMap);
} else {
return isActiveMap;
}
} else {
return isActiveMap;
}
}), MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), param[/* nodes */10]);
}
function _getIsRoots(param) {
return ArrayService$WonderCommonlib.reduceOneParami((function (isRootMap, param, index) {
var extras = param[/* extras */8];
if (extras !== undefined) {
var isRoot = extras[/* isRoot */7];
if (isRoot !== undefined) {
return MutableSparseMapService$WonderCommonlib.set(index, isRoot, isRootMap);
} else {
return isRootMap;
}
} else {
return isRootMap;
}
}), MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), param[/* nodes */10]);
}
function convert(gltf) {
return /* record */[
/* count */ConvertCommon$Wonderjs.getCount(gltf[/* nodes */10]),
/* names */_getNames(gltf),
/* isRoots */_getIsRoots(gltf),
/* isActives */_getIsActives(gltf)
];
}
exports._buildDefaultName = _buildDefaultName;
exports._getNames = _getNames;
exports._getIsActives = _getIsActives;
exports._getIsRoots = _getIsRoots;
exports.convert = convert;
/* ArrayService-Wonderjs Not a pure module */