desition and screen magement refactor
This commit is contained in:
8
inc/screen/screen.home.lua
Normal file
8
inc/screen/screen.home.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
ScreenManager.register({
|
||||
id = "home",
|
||||
name = "Home",
|
||||
decisions = {
|
||||
"go_to_toilet",
|
||||
"go_to_walking_to_office",
|
||||
}
|
||||
})
|
||||
27
inc/screen/screen.manager.lua
Normal file
27
inc/screen/screen.manager.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
ScreenManager = {}
|
||||
|
||||
local _screens = {} -- Internal list to hold screen data
|
||||
|
||||
-- Public property to access the registered screens as an indexed array
|
||||
function ScreenManager.get_screens_array()
|
||||
local screens_array = {}
|
||||
for _, screen_data in pairs(_screens) do
|
||||
table.insert(screens_array, screen_data)
|
||||
end
|
||||
return screens_array
|
||||
end
|
||||
|
||||
-- Registers a screen with the manager
|
||||
-- screen_data: A table containing id, name, and decisions for the screen
|
||||
function ScreenManager.register(screen_data)
|
||||
if _screens[screen_data.id] then
|
||||
-- Optional: warning if overwriting an existing screen
|
||||
-- trace("Warning: Overwriting screen with id: " .. screen_data.id)
|
||||
end
|
||||
_screens[screen_data.id] = screen_data
|
||||
end
|
||||
|
||||
-- Retrieves a screen by its id (if needed directly)
|
||||
function ScreenManager.get_by_id(screen_id)
|
||||
return _screens[screen_id]
|
||||
end
|
||||
10
inc/screen/screen.office.lua
Normal file
10
inc/screen/screen.office.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
ScreenManager.register({
|
||||
id = "office",
|
||||
name = "Office",
|
||||
decisions = {
|
||||
"play_button_mash",
|
||||
"play_rhythm",
|
||||
"play_ddr",
|
||||
"go_to_walking_to_home",
|
||||
}
|
||||
})
|
||||
7
inc/screen/screen.toilet.lua
Normal file
7
inc/screen/screen.toilet.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
ScreenManager.register({
|
||||
id = "toilet",
|
||||
name = "Toilet",
|
||||
decisions = {
|
||||
"go_to_home",
|
||||
}
|
||||
})
|
||||
8
inc/screen/screen.walking_to_home.lua
Normal file
8
inc/screen/screen.walking_to_home.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
ScreenManager.register({
|
||||
id = "walking_to_home",
|
||||
name = "Walking to home",
|
||||
decisions = {
|
||||
"go_to_home",
|
||||
"go_to_office",
|
||||
}
|
||||
})
|
||||
8
inc/screen/screen.walking_to_office.lua
Normal file
8
inc/screen/screen.walking_to_office.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
ScreenManager.register({
|
||||
id = "walking_to_office",
|
||||
name = "Walking to office",
|
||||
decisions = {
|
||||
"go_to_home",
|
||||
"go_to_office",
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user