mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-15 00:11:55 +07:00
49 lines
1.1 KiB
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.renderer.rotation = v3f.new(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
|