changhong/lua_probject/base_project/Game/View/Lobby/LobbySettingView.lua

111 lines
4.4 KiB
Lua

--设置窗口对象
local LobbySettingView = {}
local M = LobbySettingView
setmetatable(M, { __index = BaseWindow })
function LobbySettingView.new()
local self = setmetatable({}, { __index = M })
self.class = 'SettingView'
self._close_destroy = true
self:init('ui://Lobby/SettingWindow1')
return self
end
function M:init(url)
BaseWindow.init(self, url)
local view = self._view
local slider_sound = view:GetChild('slider_sound')
local slider_music = view:GetChild('slider_music')
local btn_music = view:GetChild('btn_music')
local btn_sound = view:GetChild('btn_sound')
btn_music.selected = (GameApplication.Instance.MusicValue < 5 and false or true)
slider_sound.value = GameApplication.Instance.SoundValue
slider_music.value = GameApplication.Instance.MusicValue
btn_sound.selected = GameApplication.Instance.SoundValue < 5 and false or true
btn_sound.icon = btn_sound.selected and 'ui://Common/on' or 'ui://Common/off'
btn_music.icon = btn_music.selected and 'ui://Common/on' or 'ui://Common/off'
slider_music.onChanged:Add(function()
GameApplication.Instance.MusicValue = slider_music.value
btn_music.selected = GameApplication.Instance.MusicValue < 5 and false or true
end)
slider_sound.onChanged:Add(function()
GameApplication.Instance.SoundValue = slider_sound.value
btn_sound.selected = GameApplication.Instance.SoundValue < 5 and false or true
end)
btn_sound.onChanged:Add(function()
GameApplication.Instance.SoundValue = btn_sound.selected and 50 or 0
slider_sound.value = GameApplication.Instance.SoundValue
btn_sound.icon = btn_sound.selected and 'ui://Common/on' or 'ui://Common/off'
end)
btn_music.onChanged:Add(function()
GameApplication.Instance.MusicValue = btn_music.selected and 50 or 0
slider_music.value = GameApplication.Instance.MusicValue
btn_music.icon = btn_music.selected and 'ui://Common/on' or 'ui://Common/off'
end)
local _btn_logout = self._view:GetChild('btn_del')
_btn_logout.onClick:Set(function()
local _curren_msg = MsgWindow.new(self._root_view, '您是否退出当前账号?', MsgWindow.MsgMode.OkAndCancel)
_curren_msg.onOk:Add(function()
PlayerPrefs.DeleteKey('session_id')
PlayerPrefs.Save()
RestartGame()
end)
_curren_msg:Show()
end)
--绑定按钮
local btn_bing = view:GetChild('btn_bind')
if btn_bing then
btn_bing.selected = DataManager.SelfUser.is_lock == 1
-- btn_bing.icon = btn_bing.selected and 'ui://Common/on' or 'ui://Common/off'
btn_bing.onClick:Set(function(context)
local _curren_msg = MsgWindow.new(self._root_view,
string.format( btn_bing.selected and "是否锁定当前设备\n锁定之后其余设备无法登陆" or "是否解除该设备\n解除之后所有设备都可登陆"),
MsgWindow.MsgMode.OkAndCancel)
_curren_msg.onOk:Add(
function()
local loginCtr = ControllerManager.GetController(LoginController)
loginCtr:LockDevice(btn_bing.selected, function(res)
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "设置失败")
btn_bing.selected = not btn_bing.selected
else
DataManager.SelfUser.is_lock = btn_bing.selected and 1 or 0
end
-- btn_bing.icon = btn_bing.selected and 'ui://Common/on' or 'ui://Common/off'
end)
end
)
-- _curren_msg.onCancel:Add(function()
-- btn_bing.selected = not btn_bing.selected
-- btn_bing.icon = btn_bing.selected and 'ui://Common/on' or 'ui://Common/off'
-- end)
_curren_msg._view:GetChild('btn_close').onClick:Set(function()
btn_bing.selected = not btn_bing.selected
-- btn_bing.icon = btn_bing.selected and 'ui://Common/on' or 'ui://Common/off'
_curren_msg:Destroy()
end)
_curren_msg:Show()
end)
end
btn_music.onChanged:Add(function()
GameApplication.Instance.MusicValue = btn_music.selected and 50 or 0
slider_music.value = GameApplication.Instance.MusicValue
end)
end
return M