wonder.js
Version:
52 lines (44 loc) • 2.71 kB
JavaScript
;
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js");
var RecordSceneMainService$Wonderjs = require("./RecordSceneMainService.js");
var AllGameObjectMainService$Wonderjs = require("../gameObject/AllGameObjectMainService.js");
var HierachyTransformService$Wonderjs = require("../../../record/main/transform/HierachyTransformService.js");
var NameGameObjectMainService$Wonderjs = require("../gameObject/NameGameObjectMainService.js");
var RecordTransformMainService$Wonderjs = require("../transform/RecordTransformMainService.js");
var GetComponentGameObjectService$Wonderjs = require("../../../record/main/gameObject/GetComponentGameObjectService.js");
function getSceneGameObject(state) {
return RecordSceneMainService$Wonderjs.getRecord(state)[/* sceneGameObject */2];
}
function setSceneGameObject(sceneGameObject, state) {
var newrecord = Caml_array.caml_array_dup(state);
var init = RecordSceneMainService$Wonderjs.getRecord(state);
newrecord[/* sceneRecord */12] = /* record */[
/* ambientLightData */init[/* ambientLightData */0],
/* skyboxData */init[/* skyboxData */1],
/* sceneGameObject */sceneGameObject
];
return newrecord;
}
function addChild(childGameObject, state) {
var gameObjectRecord = state[/* gameObjectRecord */10];
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* transformRecord */11] = HierachyTransformService$Wonderjs.setParent(GetComponentGameObjectService$Wonderjs.unsafeGetTransformComponent(RecordSceneMainService$Wonderjs.getRecord(state)[/* sceneGameObject */2], gameObjectRecord), GetComponentGameObjectService$Wonderjs.unsafeGetTransformComponent(childGameObject, gameObjectRecord), RecordTransformMainService$Wonderjs.getRecord(state));
return newrecord;
}
function addChildren(childGameObjectArr, state) {
return ArrayService$WonderCommonlib.reduceOneParam((function (state, childGameObject) {
return addChild(childGameObject, state);
}), state, childGameObjectArr);
}
function findGameObjectsByName(name, state) {
return AllGameObjectMainService$Wonderjs.getAllGameObjects(RecordSceneMainService$Wonderjs.getRecord(state)[/* sceneGameObject */2], state).filter((function (gameObject) {
return NameGameObjectMainService$Wonderjs.getName(gameObject, state) === name;
}));
}
exports.getSceneGameObject = getSceneGameObject;
exports.setSceneGameObject = setSceneGameObject;
exports.addChild = addChild;
exports.addChildren = addChildren;
exports.findGameObjectsByName = findGameObjectsByName;
/* RecordSceneMainService-Wonderjs Not a pure module */