UNPKG

wonder.js

Version:
52 lines (46 loc) 2 kB
'use strict'; var ArrayService$Wonderjs = require("../../../atom/ArrayService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var ShaderIndicesService$Wonderjs = require("../../../primitive/material/ShaderIndicesService.js"); function _handleShareMaterial(sourceComponent, countRangeArr, param) { return /* tuple */[ param[1], countRangeArr.map((function (param) { return sourceComponent; })) ]; } function _handleNotShareMaterial(sourceComponent, countRangeArr, param, param$1) { var state = param$1[1]; var setShaderIndexFunc = param[3]; var setDataFunc = param[2]; var createFunc = param[0]; var shaderIndex = ShaderIndicesService$Wonderjs.getShaderIndex(sourceComponent, param$1[0]); var dataTuple = param[1](sourceComponent, state); return ArrayService$WonderCommonlib.reduceOneParam((function (param, param$1) { var match = createFunc(param[0]); var index = match[1]; var state = setDataFunc(index, dataTuple, match[0]); var state$1 = setShaderIndexFunc(index, shaderIndex, state); return /* tuple */[ state$1, ArrayService$Wonderjs.push(index, param[1]) ]; }), /* tuple */[ state, /* array */[] ], countRangeArr); } function handleCloneComponent(param, funcTuple, stateTuple) { var countRangeArr = param[1]; var sourceComponent = param[0]; if (param[2]) { return _handleShareMaterial(sourceComponent, countRangeArr, stateTuple); } else { return _handleNotShareMaterial(sourceComponent, countRangeArr, funcTuple, stateTuple); } } exports._handleShareMaterial = _handleShareMaterial; exports._handleNotShareMaterial = _handleNotShareMaterial; exports.handleCloneComponent = handleCloneComponent; /* ArrayService-Wonderjs Not a pure module */