local MJSettingViewNew = import '.MJSettingViewNew' local TableBG = import '.MJTableBG' local MJChange3d = {} local M = MJChange3d function M.new(blur_view) setmetatable(M, {__index = BaseWindow}) local self = setmetatable({}, {__index = M}) self.class = "MJChange3d" self._blur_view = blur_view self.onChangeCard3d = event("onCallback",true) self:init("ui://Main_Majiang/change3d") return self end local function GetNewerFlag(data, game_id) local bRet = true for i = 1, #data do if data[i].game_id == game_id then if data[i].bNewer ~= nil then bRet = data[i].bNewer end break end end return bRet end local function SetNewer(data, game_id) local contain_key = false for i = 1, #data do if data[i].game_id == game_id then contain_key = true data[i].bNewer = false end end if not contain_key then local _data = {} _data.game_id = game_id _data.bNewer = false table.insert(data, _data) end end function M:IsNewer(game_id) local bRet = true local json_data = Utils.LoadLocalFile(DataManager.SelfUser.account_id .. DataManager.SelfUser.invite_code) if json_data ~= nil then local config_data = json.decode(json_data) bRet = GetNewerFlag(config_data, game_id) end return bRet end function M:SaveNewer(game_id) local config_data local json_data = Utils.LoadLocalFile(DataManager.SelfUser.account_id .. DataManager.SelfUser.invite_code) if json_data ~= nil then config_data = json.decode(json_data) else config_data = {} end SetNewer(config_data, game_id, bg_id) Utils.SaveLocalFile(DataManager.SelfUser.account_id .. DataManager.SelfUser.invite_code, json.encode(config_data)) end function M:init(url) BaseWindow.init(self,url) local view = self._view local btn_confirm = view:GetChild("btn_confirm") btn_confirm.onClick:Set(function() local n3d = view:GetController("3d").selectedIndex if n3d == 1 then if self.onChangeCard3d then MJSettingViewNew:Change3DMode() self.onChangeCard3d(TableBG.GetBGConfig()[4].url) end end self:Destroy() end) end return M