require("Common/Utils") local RendererLayerCfg = {} local private = {} ---RendererLayerCfg ---name:配置名字 ---renderFolder:武将目录,配置工具分类用 ---layers:索引值与模型的mesh相对应,值为layer local ConstCfgPath = "Config/RendererLayerConfig.cfg" function RendererLayerCfg.InitCfg() private.rendererLayerCfgDict = {} local content local tkPath = "TKData/" .. ConstCfgPath if LuaExt.FileExists(tkPath) then content = LuaExt.FileReadText(tkPath) else content = AuxUtil.ReadStreamingAssetText(ConstCfgPath) end private.DecodeAll(content) end function RendererLayerCfg.GetRendererLayerCfgDict() return private.rendererLayerCfgDict end function RendererLayerCfg.GetRendererLayers(cfgName) local cfg = private.rendererLayerCfgDict[cfgName] if cfg then return cfg.layers end end function private.DecodeAll(content) if string.isNilOrEmpty(content) == false then local contents = string.split(content, "\n") for i, lineStr in ipairs(contents) do local cfg = private.DecodeOne(lineStr) if cfg then private.rendererLayerCfgDict[cfg.cfgName] = cfg end end end end function private.DecodeOne(lineStr) if string.isNilOrEmpty(lineStr) == false then local contents = string.split(lineStr, ",") if #contents >= 3 then local name = contents[1] local folder = contents[2] local layers = string.split(contents[3], ";") for i, v in ipairs(layers) do layers[i] = tonumber(v) end local rendererLayerCfg = { cfgName = name, dirName = folder, layers = layers, } return rendererLayerCfg end end return nil end return RendererLayerCfg