-- Edit By ChenGY -- 记录各游戏的桌面背景 local TableBG = {} local M = TableBG local bg_config = { { id = 1, url = "base/tablebg/bg/bg1", thumb = "ui://Common/b04" }, { id = 2, url = "base/tablebg/bg/bg2", thumb = "ui://Common/b05" }, { id = 3, url = "base/tablebg/bg/bg3", thumb = "ui://Common/b06" }, { id = 4, url = "base/tablebg/bg/bg7", thumb = "ui://Common/b01" }, { id = 5, url = "base/tablebg/bg/bg5", thumb = "ui://Common/b02" }, { id = 6, url = "base/tablebg/bg/bg4", thumb = "ui://Common/b03" }, } function TableBG.GetBGConfig(config) return config or bg_config end local function GetBG(data, game_id) local bg_id = 0 for i = 1, #data do if data[i].game_id == game_id then bg_id = data[i].bg_id break end end return bg_id end local function SetBG(data, game_id, bg_id) local contain_key = false for i = 1, #data do if data[i].game_id == game_id then contain_key = true if data[i].bg_id ~= bg_id then data[i].bg_id = bg_id break end end end if not contain_key then local _data = {} _data.game_id = game_id _data.bg_id = bg_id table.insert(data, _data) end end function TableBG.GetTableBG(game_id) local id = -1 local json_data = Utils.LoadLocalFile(DataManager.SelfUser.account_id .. DataManager.SelfUser.invite_code) -- print(DataManager.SelfUser.invite_code, DataManager.SelfUser.account_id) if json_data ~= nil then local config_data = json.decode(json_data) id = GetBG(config_data, game_id) end return id end function TableBG.LoadTableBG(id, game_id, main_view, config) local bg_id = M.GetTableBG(game_id) local index if not bg_id then index = 1 elseif bg_id > 0 then index = bg_id else index = id end local con if config then con = config[index] else con = bg_config[index] end LoadGameBg(con and con.url or bg_config[1].url, main_view) end function TableBG.SaveTableBG(game_id, bg_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 SetBG(config_data, game_id, bg_id) Utils.SaveLocalFile(DataManager.SelfUser.account_id .. DataManager.SelfUser.invite_code, json.encode(config_data)) end return M