jx_client_neibu/lua_probject/base_project/Game/Data/TableBG.lua

93 lines
2.3 KiB
Lua
Raw Normal View History

2025-04-01 10:48:36 +08:00
-- Edit By ChenGY
-- 记录各游戏的桌面背景
local TableBG = {}
local M = TableBG
local bg_config = {
2025-04-11 12:49:08 +08:00
{ 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" },
2025-04-01 10:48:36 +08:00
}
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
2025-04-11 12:49:08 +08:00
_data.bg_id = bg_id
2025-04-01 10:48:36 +08:00
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)
2025-04-15 14:59:43 +08:00
-- 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
2025-04-01 10:48:36 +08:00
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)
2025-04-11 12:49:08 +08:00
if json_data ~= nil then
config_data = json.decode(json_data)
else
config_data = {}
end
2025-04-01 10:48:36 +08:00
SetBG(config_data, game_id, bg_id)
Utils.SaveLocalFile(DataManager.SelfUser.account_id .. DataManager.SelfUser.invite_code, json.encode(config_data))
end
2025-04-11 12:49:08 +08:00
return M