New way of component registration

This commit is contained in:
Alexey Gulev 2019-03-27 22:07:28 +01:00
parent d5c3aae745
commit 832ebe5674
2 changed files with 10 additions and 5 deletions

View File

@ -19,7 +19,7 @@ M.comps = {
} }
local function register_basic_components() local register_basic_components = function ()
for k, v in pairs(M.comps) do for k, v in pairs(M.comps) do
M.register(k, v) M.register(k, v)
end end
@ -37,6 +37,10 @@ end
--- Create UI instance for ui elements --- Create UI instance for ui elements
-- @return instance with all ui components -- @return instance with all ui components
function M.new(self) function M.new(self)
if register_basic_components then
register_basic_components()
register_basic_components = false
end
local factory = setmetatable({}, {__index = _factory}) local factory = setmetatable({}, {__index = _factory})
factory.parent = self factory.parent = self
return factory return factory
@ -149,6 +153,4 @@ function _factory.update(factory, dt)
end end
end end
register_basic_components()
return M return M

View File

@ -6,6 +6,11 @@ local lang = {
} }
local function setup_druid(self) local function setup_druid(self)
-- two different way of exernal component regesstration
druid.comps["my_mega_test_comp"] = require "druid.base.text"
druid.register("my_custom_component", {})
druid_settings.is_debug = true druid_settings.is_debug = true
druid_settings.play_sound = function(name) druid_settings.play_sound = function(name)
@ -34,8 +39,6 @@ function init(self)
print("On button 3") print("On button 3")
end) end)
druid.register("my_custom_component", {})
self.druid:new_android_back(function(self, params) self.druid:new_android_back(function(self, params)
print("On android back", params) print("On android back", params)
end, 2) end, 2)