Files
enduro2d/samples/bin/library/scripts/sample_07/gnome.lua

49 lines
1.1 KiB
Lua

-- -----------------------------------------------------------------------------
--
-- private
--
-- -----------------------------------------------------------------------------
---@class gnome_meta
---@field life_time number
---@param meta gnome_meta
---@param go gobject
local function update_life_time(meta, go)
local dt = the_engine.delta_time
meta.life_time = meta.life_time - dt
if meta.life_time <= 0 then
go:destroy()
end
end
---@param meta gnome_meta
---@param go gobject
local function update_gnome_rotation(meta, go)
local time = the_engine.time
go.actor.node.rotation = q4f.make_from_euler_angles(0, time, 0)
end
-- -----------------------------------------------------------------------------
--
-- meta
--
-- -----------------------------------------------------------------------------
local M = {}
---@param meta gnome_meta
---@param go gobject
function M.on_start(meta, go)
meta.life_time = 5
end
---@param meta gnome_meta
---@param go gobject
function M.on_update(meta, go)
update_life_time(meta, go)
update_gnome_rotation(meta, go)
end
return M