|
GameSettingView = GameSettingView or BaseClass(BaseView)
|
|
|
|
GameSettingView.TabData = {
|
|
{id = GameSettingModel.TabData.SYSYTEM, name = "系统",module_id = 102, sub_id = 0},
|
|
{id = GameSettingModel.TabData.BLOCK, name = "屏蔽",module_id = 102, sub_id = 0},
|
|
{id = GameSettingModel.TabData.AUTO, name = "挂机",module_id = 102, sub_id = 0},
|
|
{id = GameSettingModel.TabData.CUSTOM, name = "客服",module_id = 102, sub_id = 0},
|
|
}
|
|
|
|
function GameSettingView:__init()
|
|
self.base_file = "setting" --资源目录
|
|
self.layout_file = "SettingView" --资源名称
|
|
self.layer_name = "UI" --弹出目录
|
|
self.model = GameSettingModel:GetInstance()
|
|
|
|
self.blur_activity_bg = true
|
|
self.use_show_anim = true
|
|
self.use_hide_anim = true
|
|
|
|
self.open_guide_close = true
|
|
--初始化面板的基本属性
|
|
self.close_mode = CloseMode.CloseDestroy --关闭模式为销毁
|
|
self.destroy_imm = true; --销毁窗口模式为立即销毁
|
|
self.use_background = true --使用背景
|
|
self.hide_maincancas = false
|
|
-- --背景透明度
|
|
self.append_to_ctl_queue = true --添加到控制队列
|
|
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:InitEvent()
|
|
end
|
|
|
|
self.open_callback = function()
|
|
self.tabWindowComponent:SetTabBarIndex(self.cur_index)
|
|
end
|
|
|
|
self.close_callback = function()
|
|
lua_settingM:ApplyMonsterVisibleState()
|
|
lua_settingM:ApplyPlayerCounts()
|
|
lua_settingM:ApplySceneEffect()
|
|
CookieWrapper.Instance:WriteAll()
|
|
end
|
|
|
|
self.destroy_callback = function ()
|
|
self:Remove()
|
|
end
|
|
end
|
|
|
|
function GameSettingView:Open(index)
|
|
self.cur_index = index or 1
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function GameSettingView:LoadSuccess()
|
|
self.sub_conta = self:GetChild("sub_conta")
|
|
|
|
self.nodes = {
|
|
"btn_con:obj",
|
|
"btn_con/hook_btn:obj",
|
|
"btn_con/account_btn:obj",
|
|
"btn_con/backToLogin_btn:obj",
|
|
"btn_con/fix_btn:obj",
|
|
"btn_con/restore_btn:obj",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
local select_callback = function(index)
|
|
self:SwitchView(index)
|
|
end
|
|
local close_callback = function()
|
|
self:Close()
|
|
end
|
|
|
|
self.tabWindowComponent = UITabWindow.New(self.transform,GameSettingView.TabData,select_callback,close_callback,self.background_wnd,
|
|
nil,UITabWindow.SizeSmall,nil,nil,true)
|
|
self.tabWindowComponent:SetTitleText("设置")
|
|
end
|
|
|
|
function GameSettingView:SwitchView(index)
|
|
self.cur_index = index
|
|
if self.cur_index == GameSettingModel.TabData.SYSYTEM then
|
|
self.tabWindowComponent:SetBackgroundRes("WindowNew2_bg")
|
|
if self.basicSettingView == nil then
|
|
self.basicSettingView = BasicSettingView.New(self.sub_conta)
|
|
end
|
|
self:PopUpChild(self.basicSettingView)
|
|
self.basicSettingView:SetData()
|
|
self.btn_con_obj:SetActive(true)
|
|
elseif self.cur_index == GameSettingModel.TabData.BLOCK then
|
|
self.tabWindowComponent:SetBackgroundRes("WindowNew2_bg")
|
|
if self.blockSettingView == nil then
|
|
self.blockSettingView = BlockSettingView.New(self.sub_conta)
|
|
end
|
|
self:PopUpChild(self.blockSettingView)
|
|
self.blockSettingView:SetData()
|
|
self.btn_con_obj:SetActive(true)
|
|
elseif self.cur_index == GameSettingModel.TabData.AUTO then
|
|
self.tabWindowComponent:SetBackgroundRes("WindowNew2_bg")
|
|
if self.autoSettingView == nil then
|
|
self.autoSettingView = AutoSettingView.New(self.sub_conta)
|
|
end
|
|
self:PopUpChild(self.autoSettingView)
|
|
self.autoSettingView:SetData()
|
|
self.btn_con_obj:SetActive(true)
|
|
elseif self.cur_index == GameSettingModel.TabData.CUSTOM then
|
|
self.tabWindowComponent:SetBackgroundRes("game_setting_bg_1")
|
|
if self.serviceView == nil then
|
|
self.serviceView = ServiceView.New(self.sub_conta)
|
|
end
|
|
self:PopUpChild(self.serviceView)
|
|
self.serviceView:SetData()
|
|
self.btn_con_obj:SetActive(false)
|
|
end
|
|
end
|
|
|
|
function GameSettingView:InitEvent()
|
|
local function onBtnClickHandler(target)
|
|
if target == self.hook_btn_obj then
|
|
self:Close()
|
|
GlobalEventSystem:Fire(SceneEventType.SCREEN_BRIGHT_DEL_EVENT)
|
|
elseif target == self.restore_btn_obj then
|
|
local function Return()
|
|
GameSettingModel:GetInstance():Fire(GameSettingModel.RETURN_ALL_DEFAULT,self.cur_index)
|
|
end
|
|
Alert.show("是否还原设置?",Alert.Type.Two,Return)
|
|
elseif target == self.fix_btn_obj then
|
|
-- local skill_state = MainUIModel:getInstance().state_right_bottom
|
|
-- local skill_value = skill_state and skill_state.value or "nil"
|
|
-- local task_state = MainUIModel:getInstance().state_task
|
|
-- local task_value = task_state and task_state.value or "nil"
|
|
-- local str = "skill_value = "..tostring(skill_value) .. ", task_value = ".. tostring(task_value)
|
|
-- print("tanar: [GameSettingView 131]=> str: ",str)
|
|
-- GameError.Instance:SendErrorMsg(str)
|
|
local function ExitGameServer()
|
|
if not SceneManager:getInstance():IsMainCityorYieldScene() then
|
|
Message.show("请先退出副本再操作")
|
|
return
|
|
end
|
|
LoginModel:getInstance():Fire(LoginModel.FORCE_EXIT_GAME_SERVER)
|
|
end
|
|
Alert.show("修复异常后,需要重新启动游戏才能生效", Alert.Type.Two, ExitGameServer, nil,"确定重启", "放弃修复")
|
|
elseif target == self.backToLogin_btn_obj then
|
|
if Scene.Instance.main_role:IsInState(PoseState.JUMP) or Scene.Instance.main_role:IsInState(PoseState.FLY)
|
|
or Scene.Instance.main_role:IsInState(PoseState.JUMP_UP_HORSE) then
|
|
return
|
|
end
|
|
local function ChangeRole()
|
|
GlobalEventSystem:Fire(EventName.CHANGE_ROLE)
|
|
end
|
|
GlobalEventSystem:Fire(EventName.WANT_TO_CHANGE_ROLE)
|
|
Alert.show("是否返回角色选择界面?",Alert.Type.Two,ChangeRole)
|
|
elseif target == self.account_btn_obj then
|
|
local function ChangeAccount()
|
|
GlobalEventSystem:Fire(EventName.CHANGE_ACCOUNT)
|
|
PlatformMgr:getInstance():LoginOut()
|
|
end
|
|
Alert.show("是否切换游戏账号?", Alert.Type.Two, ChangeAccount)
|
|
end
|
|
end
|
|
AddClickEvent(self.hook_btn_obj,onBtnClickHandler,LuaSoundManager.SOUND_UI.NONE)
|
|
AddClickEvent(self.restore_btn_obj,onBtnClickHandler,LuaSoundManager.SOUND_UI.NONE)
|
|
AddClickEvent(self.fix_btn_obj,onBtnClickHandler,LuaSoundManager.SOUND_UI.NONE)
|
|
AddClickEvent(self.backToLogin_btn_obj,onBtnClickHandler,LuaSoundManager.SOUND_UI.NONE)
|
|
AddClickEvent(self.account_btn_obj,onBtnClickHandler,LuaSoundManager.SOUND_UI.NONE)
|
|
end
|
|
|
|
function GameSettingView:Remove()
|
|
if self.basicSettingView then
|
|
self.basicSettingView:DeleteMe()
|
|
self.basicSettingView = nil
|
|
end
|
|
|
|
if self.blockSettingView then
|
|
self.blockSettingView:DeleteMe()
|
|
self.blockSettingView = nil
|
|
end
|
|
|
|
if self.autoSettingView then
|
|
self.autoSettingView:DeleteMe()
|
|
self.autoSettingView = nil
|
|
end
|
|
|
|
if self.serviceView then
|
|
self.serviceView:DeleteMe()
|
|
self.serviceView = nil
|
|
end
|
|
|
|
if self.tabWindowComponent then
|
|
self.tabWindowComponent:DeleteMe()
|
|
self.tabWindowComponent = nil
|
|
end
|
|
end
|
|
|