diff options
author | ROllerozxa <temporaryemail4meh+github@gmail.com> | 2022-07-17 15:45:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-17 14:45:30 +0100 |
commit | f090471022513401257e132334d03ee6c10aafa7 (patch) | |
tree | cebf87b33ba00ff0f585ba20dc758ab874af694e /builtin/mainmenu/tab_local.lua | |
parent | 4648d8f4997963ac050f356b664a07caadd66587 (diff) | |
download | minetest-f090471022513401257e132334d03ee6c10aafa7.tar.gz minetest-f090471022513401257e132334d03ee6c10aafa7.tar.bz2 minetest-f090471022513401257e132334d03ee6c10aafa7.zip |
Enable the gamebar on Android (#12354)
Diffstat (limited to 'builtin/mainmenu/tab_local.lua')
-rw-r--r-- | builtin/mainmenu/tab_local.lua | 167 |
1 files changed, 78 insertions, 89 deletions
diff --git a/builtin/mainmenu/tab_local.lua b/builtin/mainmenu/tab_local.lua index 049d16507..f8de10db6 100644 --- a/builtin/mainmenu/tab_local.lua +++ b/builtin/mainmenu/tab_local.lua @@ -16,7 +16,6 @@ --51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -local enable_gamebar = PLATFORM ~= "Android" local current_game, singleplayer_refresh_gamebar local valid_disabled_settings = { ["enable_damage"]=true, @@ -24,95 +23,88 @@ local valid_disabled_settings = { ["enable_server"]=true, } -if enable_gamebar then - -- Currently chosen game in gamebar for theming and filtering - function current_game() - local last_game_id = core.settings:get("menu_last_game") - local game = pkgmgr.find_by_gameid(last_game_id) +-- Currently chosen game in gamebar for theming and filtering +function current_game() + local last_game_id = core.settings:get("menu_last_game") + local game = pkgmgr.find_by_gameid(last_game_id) - return game - end + return game +end - -- Apply menu changes from given game - function apply_game(game) - core.set_topleft_text(game.name) - core.settings:set("menu_last_game", game.id) - menudata.worldlist:set_filtercriteria(game.id) +-- Apply menu changes from given game +function apply_game(game) + core.set_topleft_text(game.name) + core.settings:set("menu_last_game", game.id) + menudata.worldlist:set_filtercriteria(game.id) - mm_game_theme.update("singleplayer", game) -- this refreshes the formspec + mm_game_theme.update("singleplayer", game) -- this refreshes the formspec - local index = filterlist.get_current_index(menudata.worldlist, - tonumber(core.settings:get("mainmenu_last_selected_world"))) - if not index or index < 1 then - local selected = core.get_textlist_index("sp_worlds") - if selected ~= nil and selected < #menudata.worldlist:get_list() then - index = selected - else - index = #menudata.worldlist:get_list() - end + local index = filterlist.get_current_index(menudata.worldlist, + tonumber(core.settings:get("mainmenu_last_selected_world"))) + if not index or index < 1 then + local selected = core.get_textlist_index("sp_worlds") + if selected ~= nil and selected < #menudata.worldlist:get_list() then + index = selected + else + index = #menudata.worldlist:get_list() end - menu_worldmt_legacy(index) end + menu_worldmt_legacy(index) +end - function singleplayer_refresh_gamebar() +function singleplayer_refresh_gamebar() - local old_bar = ui.find_by_name("game_button_bar") - if old_bar ~= nil then - old_bar:delete() + local old_bar = ui.find_by_name("game_button_bar") + if old_bar ~= nil then + old_bar:delete() + end + + local function game_buttonbar_button_handler(fields) + if fields.game_open_cdb then + local maintab = ui.find_by_name("maintab") + local dlg = create_store_dlg("game") + dlg:set_parent(maintab) + maintab:hide() + dlg:show() + return true end - local function game_buttonbar_button_handler(fields) - if fields.game_open_cdb then - local maintab = ui.find_by_name("maintab") - local dlg = create_store_dlg("game") - dlg:set_parent(maintab) - maintab:hide() - dlg:show() + for _, game in ipairs(pkgmgr.games) do + if fields["game_btnbar_" .. game.id] then + apply_game(game) return true end - - for _, game in ipairs(pkgmgr.games) do - if fields["game_btnbar_" .. game.id] then - apply_game(game) - return true - end - end end + end - local btnbar = buttonbar_create("game_button_bar", - game_buttonbar_button_handler, - {x=-0.3,y=5.9}, "horizontal", {x=12.4,y=1.15}) + local btnbar = buttonbar_create("game_button_bar", + game_buttonbar_button_handler, + {x=-0.3,y=5.9}, "horizontal", {x=12.4,y=1.15}) - for _, game in ipairs(pkgmgr.games) do - local btn_name = "game_btnbar_" .. game.id + for _, game in ipairs(pkgmgr.games) do + local btn_name = "game_btnbar_" .. game.id - local image = nil - local text = nil - local tooltip = core.formspec_escape(game.title) + local image = nil + local text = nil + local tooltip = core.formspec_escape(game.title) - if (game.menuicon_path or "") ~= "" then - image = core.formspec_escape(game.menuicon_path) - else - local part1 = game.id:sub(1,5) - local part2 = game.id:sub(6,10) - local part3 = game.id:sub(11) + if (game.menuicon_path or "") ~= "" then + image = core.formspec_escape(game.menuicon_path) + else + local part1 = game.id:sub(1,5) + local part2 = game.id:sub(6,10) + local part3 = game.id:sub(11) - text = part1 .. "\n" .. part2 - if part3 ~= "" then - text = text .. "\n" .. part3 - end + text = part1 .. "\n" .. part2 + if part3 ~= "" then + text = text .. "\n" .. part3 end - btnbar:add_button(btn_name, text, image, tooltip) end - - local plus_image = core.formspec_escape(defaulttexturedir .. "plus.png") - btnbar:add_button("game_open_cdb", "", plus_image, fgettext("Install games from ContentDB")) - end -else - -- Currently chosen game in gamebar: no gamebar -> no "current" game - function current_game() - return nil + btnbar:add_button(btn_name, text, image, tooltip) end + + local plus_image = core.formspec_escape(defaulttexturedir .. "plus.png") + btnbar:add_button("game_open_cdb", "", plus_image, fgettext("Install games from ContentDB")) end local function get_disabled_settings(game) @@ -187,7 +179,7 @@ local function get_formspec(tabview, name, tabdata) damage .. host .. "textlist[3.9,0.4;7.9,3.45;sp_worlds;" .. - menu_render_worldlist(not enable_gamebar) .. + menu_render_worldlist() .. ";" .. index .. "]" if core.settings:get_bool("enable_server") and disabled_settings["enable_server"] == nil then @@ -324,7 +316,7 @@ local function main_button_handler(this, fields, name, tabdata) end if fields["world_create"] ~= nil then - local create_world_dlg = create_create_world_dlg(enable_gamebar) + local create_world_dlg = create_create_world_dlg() create_world_dlg:set_parent(this) this:hide() create_world_dlg:show() @@ -371,26 +363,23 @@ local function main_button_handler(this, fields, name, tabdata) end end -local on_change -if enable_gamebar then - function on_change(type, old_tab, new_tab) - if (type == "ENTER") then - local game = current_game() - if game then - apply_game(game) - end +local function on_change(type, old_tab, new_tab) + if (type == "ENTER") then + local game = current_game() + if game then + apply_game(game) + end - singleplayer_refresh_gamebar() - ui.find_by_name("game_button_bar"):show() - else - menudata.worldlist:set_filtercriteria(nil) - local gamebar = ui.find_by_name("game_button_bar") - if gamebar then - gamebar:hide() - end - core.set_topleft_text("") - mm_game_theme.update(new_tab,nil) + singleplayer_refresh_gamebar() + ui.find_by_name("game_button_bar"):show() + else + menudata.worldlist:set_filtercriteria(nil) + local gamebar = ui.find_by_name("game_button_bar") + if gamebar then + gamebar:hide() end + core.set_topleft_text("") + mm_game_theme.update(new_tab,nil) end end |