----------------------------------------------------------------------------------------------------------------------- -- PUBLIC ----------------------------------------------------------------------------------------------------------------------- function sequence(_nodes, _loopCount, _nodeName) local data = { leafs = _nodes } if _loopCount ~= nil then data.loopCount = _loopCount end if _nodeName ~= nil then data.nodeName = _nodeName end return { NAME = "AnimTreeNodeSequence_Template", AnimTreeNodeSequence_Template = data } end ----------------------------------------------------------------------------------------------------------------------- function animation(_name, _loop, _friendly) local data = __getAnimData(_name, _loop, _friendly) __declareAnimation2D(data) return { NAME = "AnimTreeNodePlayAnim_Template", AnimTreeNodePlayAnim_Template = data } end ----------------------------------------------------------------------------------------------------------------------- function animation3D(_name, _loop, _friendly) local data = __getAnimData(_name, _loop, _friendly) __anim3DList[data.friendlyName] = data return { NAME = "Animation3DTreeNodePlayAnim_Template", Animation3DTreeNodePlayAnim_Template = data } end ----------------------------------------------------------------------------------------------------------------------- -- PRIVATE ----------------------------------------------------------------------------------------------------------------------- local __anim2DList = {} local __anim3DList = {} ----------------------------------------------------------------------------------------------------------------------- function __getAnimData(_name, _loop, _friendly) local data = { animationName = _name } if _nodeName ~= nil then data.nodeName = _nodeName end if _loop ~= nil then data.loop = _loop end if _friendly == nil then _friendly = _name end data.friendlyName = _friendly return data end ----------------------------------------------------------------------------------------------------------------------- function __declareAnimation2D(_data) if not __anim2DList[_data.friendlyName] do local anim = { Animation3DInfo_Template = { friendlyName = _friendly, name = gpeRoot() .. 'animation/' .. _name .. '.a3d', } } -- component.Mesh3DComponent_Template.animationList = {Animation3DSet_Template = {animations = declareAllAnimations()}} end end ----------------------------------------------------------------------------------------------------------------------- function __declareAnimation3D(_data) end