24 lines
687 B
Lua
24 lines
687 B
Lua
-- states/character.lua — Character / Status / Weather tabs.
|
|||
|
|
--
|
||
|
|
-- Purely tabbed: there is no per-entry cursor, the tab body is just drawn. So we
|
||
|
|
-- announce the tab, and the body is left to the dedicated status key (Phase 5).
|
||
|
|
|
||
|
|
return {
|
||
|
|
read = function(stateTable, menus)
|
||
|
|
local tabIndex = menus.getAnyUpvalue(stateTable, "activeTabIndex")
|
||
|
|
local tabsList = menus.getAnyUpvalue(stateTable, "tabsList")
|
||
|
|
|
||
|
|
if type(tabIndex) ~= "number" or type(tabsList) ~= "table" then
|
||
|
|
return nil, nil
|
||
|
|
end
|
||
|
|
|
||
|
|
local tab = tabsList[tabIndex]
|
||
|
|
if not tab then
|
||
|
|
return nil, nil
|
||
|
|
end
|
||
|
|
|
||
|
|
return string.format("%s, %d of %d", tab.header or "?", tabIndex, #tabsList),
|
||
|
|
tostring(tabIndex)
|
||
|
|
end,
|
||
|
|
}
|