mirror of
https://github.com/Insality/druid.git
synced 2025-06-27 10:27:47 +02:00
88 lines
2.2 KiB
Lua
88 lines
2.2 KiB
Lua
local druid = require("druid.druid")
|
|
|
|
|
|
function init(self)
|
|
self.druid = druid.new(self)
|
|
local prefab = gui.get_node("prefab")
|
|
gui.set_enabled(prefab, false)
|
|
|
|
local grid_nw = self.druid:new_static_grid("grid_NW_anchor", prefab, 3)
|
|
local grid_ne = self.druid:new_static_grid("grid_NE_anchor", prefab, 3)
|
|
local grid_n = self.druid:new_static_grid("grid_N_anchor", prefab, 3)
|
|
local grid_sw = self.druid:new_static_grid("grid_SW_anchor", prefab, 3)
|
|
local grid_se = self.druid:new_static_grid("grid_SE_anchor", prefab, 3)
|
|
local grid_s = self.druid:new_static_grid("grid_S_anchor", prefab, 3)
|
|
local grid_w = self.druid:new_static_grid("grid_C_anchor", prefab, 3)
|
|
local grid_e = self.druid:new_static_grid("grid_W_anchor", prefab, 3)
|
|
local grid_c = self.druid:new_static_grid("grid_E_anchor", prefab, 3)
|
|
|
|
local update_pos_func = function(node, pos) gui.animate(node, "position", pos, gui.EASING_OUTSINE, 0.2) end
|
|
grid_nw:set_position_function(update_pos_func)
|
|
grid_ne:set_position_function(update_pos_func)
|
|
grid_n:set_position_function(update_pos_func)
|
|
grid_sw:set_position_function(update_pos_func)
|
|
grid_se:set_position_function(update_pos_func)
|
|
grid_s:set_position_function(update_pos_func)
|
|
grid_w:set_position_function(update_pos_func)
|
|
grid_e:set_position_function(update_pos_func)
|
|
grid_c:set_position_function(update_pos_func)
|
|
|
|
local grids = {
|
|
grid_nw,
|
|
grid_ne,
|
|
grid_n,
|
|
grid_sw,
|
|
grid_se,
|
|
grid_s,
|
|
grid_c,
|
|
grid_w,
|
|
grid_e,
|
|
}
|
|
|
|
for i = 1, #grids do
|
|
grids[i].style.IS_DYNAMIC_NODE_POSES = false
|
|
end
|
|
|
|
|
|
local animate_grides = function()
|
|
for _, grid in ipairs(grids) do
|
|
for i = 1, #grid.nodes do
|
|
gui.delete_node(grid.nodes[i])
|
|
end
|
|
grid:clear()
|
|
|
|
for i = 1, 9 do
|
|
timer.delay(i, false, function()
|
|
local node = gui.clone(prefab)
|
|
gui.set_enabled(node, true)
|
|
grid:add(node)
|
|
end)
|
|
end
|
|
end
|
|
end
|
|
|
|
animate_grides()
|
|
timer.delay(10, true, animate_grides)
|
|
|
|
end
|
|
|
|
|
|
function final(self)
|
|
self.druid:final()
|
|
end
|
|
|
|
|
|
function update(self, dt)
|
|
self.druid:update(dt)
|
|
end
|
|
|
|
|
|
function on_message(self, message_id, message, sender)
|
|
self.druid:on_message(message_id, message, sender)
|
|
end
|
|
|
|
|
|
function on_input(self, action_id, action)
|
|
return self.druid:on_input(action_id, action)
|
|
end
|