70 lines
1.6 KiB
Lua
70 lines
1.6 KiB
Lua
local SettingsController = {
|
|
classname = "FNSettingsController",
|
|
}
|
|
|
|
local SettingsGui = require "scripts/settings/gui"
|
|
local tabs = "sett-tabs"
|
|
|
|
function SettingsController.exit()
|
|
out("settings exit")
|
|
SettingsGui.close_window()
|
|
end
|
|
|
|
function SettingsController.open()
|
|
out("settings open")
|
|
|
|
local ret_gui = SettingsGui.open_window()
|
|
SettingsGui.draw_tabs(tabs)
|
|
SettingsController.draw_settings()
|
|
|
|
return ret_gui
|
|
end
|
|
|
|
function SettingsController.draw_settings()
|
|
local cur_tab = tabs:get_cur_tab()
|
|
local settings = Settings.get_sett_list()
|
|
local sett_list = {}
|
|
|
|
sett_list = SettingsController.set_settings_for_tab(settings, cur_tab)
|
|
SettingsGui.add_option_list(sett_list)
|
|
end
|
|
|
|
function SettingsController.set_settings_for_tab(settings, cur_tab)
|
|
local ret_tb = {}
|
|
|
|
for name, sett in pairs(settings) do
|
|
if sett.tab == cur_tab then
|
|
table.insert(ret_tb, sett)
|
|
end
|
|
end
|
|
|
|
return ret_tb
|
|
end
|
|
|
|
function SettingsController.back_key()
|
|
return true
|
|
end
|
|
|
|
function SettingsController.can_open_gui()
|
|
return true
|
|
end
|
|
|
|
function SettingsController.get_name()
|
|
return SettingsGui.name
|
|
end
|
|
|
|
function SettingsController.is_gui_open()
|
|
return SettingsGui.is_gui_open()
|
|
end
|
|
|
|
function SettingsController.set_new_tab_event(event, gui_name)
|
|
SettingsController.draw_settings(tabs:get_cur_tab())
|
|
end
|
|
|
|
function SettingsController.init_events()
|
|
SettingsGui.init_events()
|
|
Settings.init_events()
|
|
tabs = Tabs:new(tabs, SettingsGui.name, {"main-settings", "crafting-category", "admin-settings"}, "fnei_settings_selected-tab", "fnei_settings_empty-tab", SettingsController.set_new_tab_event)
|
|
end
|
|
|
|
return SettingsController |