3
0
mirror of https://github.com/britzl/monarch.git synced 2025-06-27 10:27:49 +02:00

Adding monarch.screen_exists(id)

In some projects may need to wait until initial screen has been
registered before attempting to show it
This commit is contained in:
Brian Kramer 2017-11-08 09:29:25 -08:00
parent d02cd03d2c
commit 8df7ddd32f
2 changed files with 16 additions and 1 deletions

View File

@ -1,6 +1,14 @@
local monarch = require "monarch.monarch" local monarch = require "monarch.monarch"
function init(self) function init(self)
monarch.show(hash("menu")) self.wait = true
msg.post("@render:/", "clear_color", { color = vmath.vector4(0.4, 0.6, 0.8,1.0) }) msg.post("@render:/", "clear_color", { color = vmath.vector4(0.4, 0.6, 0.8,1.0) })
end end
function update(self)
-- Ensure that the initial screen has had enough time to register
if self.wait == true and monarch.screen_exists(hash("menu")) then
self.wait = false
monarch.show(hash("menu"))
end
end

View File

@ -152,6 +152,13 @@ function M.data(id)
return screens[id].data return screens[id].data
end end
--- Checks to see if a screen id is registered
-- @param id Id of the screen to check if is registered
-- @return True or False if the screen id is registered or not
function M.screen_exists(id)
return screens[id] ~= nil
end
--- Show a new screen --- Show a new screen
-- @param id Id of the screen to show -- @param id Id of the screen to show
-- @param options Table with options when showing the screen (can be nil). Valid values: -- @param options Table with options when showing the screen (can be nil). Valid values: