JD2022-TU1/data/EngineData/Helpers/animTree_helpers.ilu

71 lines
2.6 KiB
Text

-----------------------------------------------------------------------------------------------------------------------
-- 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