diff --git a/druid/components/andr_back_btn.lua b/druid/components/andr_back_btn.lua deleted file mode 100644 index a237675..0000000 --- a/druid/components/andr_back_btn.lua +++ /dev/null @@ -1,11 +0,0 @@ -local M = {} - ---- input handler --- @param action_id - input action id --- @param action - input action -function M.on_input(instance, action_id, action) - instance.callback(instance.parent.parent) - return true -end - -return M diff --git a/druid/druid.lua b/druid/druid.lua index 9ba84aa..e5c5bf6 100644 --- a/druid/druid.lua +++ b/druid/druid.lua @@ -10,7 +10,7 @@ local _factory = {} local STRING = "string" --- New druid era, registering components -local components = { +M.comps = { -- basic button = require("druid.base.button"), android_back = require("druid.base.android_back"), @@ -20,7 +20,7 @@ local components = { local function register_basic_components() - for k, v in pairs(components) do + for k, v in pairs(M.comps) do M.register(k, v) end end @@ -28,8 +28,8 @@ end function M.register(name, module) -- TODO: Find better solution to creating elements? - _factory["new_" .. name] = function(factory, node_name, ...) - M.create(factory, module, node_name, ...) + _factory["new_" .. name] = function(factory, node_or_name, ...) + _factory.create(factory, module, node_or_name, ...) end log("Register component", name) end @@ -82,16 +82,14 @@ local function create(module, factory, name, ...) end -function M.create(factory, module, name, ...) - local instance = create(module, factory, name) +function _factory.create(factory, module, node_or_name, ...) + local instance = create(module, factory, node_or_name) if instance.init then instance:init(...) end end -register_basic_components() --------------------------------------------------------------------------------- --- Called on_message function _factory.on_message(factory, message_id, message, sender) @@ -151,4 +149,6 @@ function _factory.update(factory, dt) end end +register_basic_components() + return M \ No newline at end of file diff --git a/example/example.gui.gui_script b/example/example.gui.gui_script index d17b88c..4c645fe 100644 --- a/example/example.gui.gui_script +++ b/example/example.gui.gui_script @@ -24,14 +24,18 @@ function init(self) self.druid:new_button("button_1", function() print("On button 1") end) - self.druid:new_button("button_2", function() + + --alternative way of component registration + self.druid:create(druid.comps.button, "button_2", function() print("On button 2") end) + self.druid:new_button("button_3", function() print("On button 3") end) - + druid.register("my_custom_component", {}) + self.druid:new_android_back(function(self, params) print("On android back", params) end, 2)