Files
tianrunCRM/Assets/trCRM/upgradeRes4Dev/priority/lua/cfg/DBCfg.lua

105 lines
3.4 KiB
Lua
Raw Normal View History

2020-07-04 14:41:25 +08:00
--- - 管理数据配置
do
require("cfg.DBCfgTool")
local bio2Int = NumEx.bio2Int;
local int2Bio = NumEx.int2Bio;
local db = {} -- 经过处理后的数据
-- 数据的路径
local upgradeRes = "/upgradeRes"
if (CLCfgBase.self.isEditMode) then
upgradeRes = "/upgradeRes4Publish";
end
local priorityPath = PStr.b():a(CLPathCfg.persistentDataPath):a("/"):a(CLPathCfg.self.basePath):a(upgradeRes):a("/priority/"):e();
local cfgBasePath = PStr.b():a(priorityPath):a("cfg/"):e();
local cfgWorldBasePath = PStr.b():a(priorityPath):a("worldMap/"):e();
-- 大地图
local cfgMapPath = PStr.b():a(cfgWorldBasePath):e();
-- 全局变量定义
local cfgCfgPath = PStr.b():a(cfgBasePath):a("DBCFCfgData.cfg"):e();
--local cfgGoodsPath = PStr.b():a(cfgBasePath):a("DBCFGoodsData.cfg"):e();
DBCfg = {};
-- 取得数据列表
function DBCfg.getData(path)
local dbMap = db[path];
if (dbMap == nil) then
--if (path == cfgRolePath) then
--dbMap = DBCfgTool.getRoleData(cfgRolePath, cfgRoleLevPath);
--elseif (path == cfgSkillPath) then
-- dbMap = DBCfgTool.pubGetBaseAndLevData(cfgSkillPath, cfgSkillLevPath);
if path == cfgMapCellPath then
dbMap = DBCfgTool.pubGet4GIDLev(path);
elseif path == cfgTalkingPath or path == cfgCarbonPath then
local gidList;
gidList, dbMap = DBCfgTool.pubGetList4GID(path);
if path == cfgCarbonPath then
gidList[0] = nil; -- 把新手剧情的移除
end
dbMap.list = gidList;
else
-- 其它没有特殊处理的都以ID为keydbList:下标连续的列表, dbMap以ID为key的luatable
local dbList = nil;
dbList, dbMap = DBCfgTool.getDatas(path, true);
if path == cfgGoodsPath then
-- 商品
local list = {};
local chlCode = getChlCode();
for i,v in ipairs(dbList) do
if true or v.Channel == chlCode then
table.insert(list, v);
end
end
table.sort(list, function(a, n)
return bio2Int(a.ListOrder) < bio2Int(n.ListOrder)
end)
dbList = list;
end
-- ====================================
dbMap.list = dbList;
end
db[path] = dbMap;
end
return dbMap;
end
-- 取得常量配置
function DBCfg.getConstCfg(...)
local datas = DBCfg.getData(cfgCfgPath);
if (datas == nil) then
return nil
end
return datas[1];
end
-- 常量配置
GConstCfg = DBCfg.getConstCfg();
--function DBCfg.getGoodsList()
-- local datas = DBCfg.getData(cfgGoodsPath);
-- if (datas == nil) then
-- return nil
-- end
-- return datas.list;
--end
--
--function DBCfg.getGoodsByID(id)
-- local datas = DBCfg.getData(cfgGoodsPath);
-- if (datas == nil) then
-- return nil
-- end
-- return datas[id]
--end
--------------------------------------------------
return DBCfg;
end
--module("DBCfg", package.seeall)