local PetModelCfg = class("PetModelCfg") local StaticData = { --默认都用Base配置,如养成、阵容界面,如果有特殊界面的位置不恰当,则针对该界面单独配置 Base = { ["Assets/Actor/Pet/Pet_XiongMao/Pet_XiongMao_Show.prefab"] = { ModelXYZ = { -0.37, -0.3, 3.1 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_XiongMaoT1/Pet_XiongMaoT1_Show.prefab"] = { ModelXYZ = { -0.37, -0.3, 3.1 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_SunWuKong/Pet_SunWuKong_Show.prefab"] = { ModelXYZ = { -0.34, -0.38, 2.7 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_SunWuKongT1/Pet_SunWuKongT1_Show.prefab"] = { ModelXYZ = { -0.34, -0.38, 2.7 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_LongGui/Pet_LongGui_Show.prefab"] = { ModelXYZ = { -0.25, -0.88, 2 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_LongGui/Pet_LongGui_R1.prefab"] = { ModelXYZ = { -0.25, -0.88, 2 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_HuLi/Pet_HuLi_Show.prefab"] = { ModelXYZ = { -0.43, -0.38, 2.7 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_HuLiT1/Pet_HuLiT1_Show.prefab"] = { ModelXYZ = { -0.43, -0.38, 2.7 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_XiaoHuanXiong/Pet_XiaoHuanXiong_Show.prefab"] = { ModelXYZ = { -0.37, -0.42, 2.8 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_XiaoHuanXiongT1/Pet_XiaoHuanXiongT1_Show.prefab"] = { ModelXYZ = { -0.37, -0.42, 2.8 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_DaoLang/Pet_DaoLang_Show.prefab"] = { ModelXYZ = { -0.37, -0.41, 2.5 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_DaoLangT1/Pet_DaoLangT1_Show.prefab"] = { ModelXYZ = { -0.37, -0.41, 2.5 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_XiaoLongNv/Pet_XiaoLongNv_Show.prefab"] = { ModelXYZ = { -0.31, -0.6, 2.7 }, ModelScale = 0.6, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_ZhongLongNv/Pet_ZhongLongNv_Show.prefab"] = { ModelXYZ = { -0.33, -0.59, 2.7 }, ModelScale = 0.35, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_DaLongNv/Pet_DaLongNv_Show.prefab"] = { ModelXYZ = { -0.33, -0.59, 2.7 }, ModelScale = 0.35, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_XiaoChongMing/Pet_XiaoChongMing_Show.prefab"] = { ModelXYZ = { -0.35, -0.8, 2.7 }, ModelScale = 0.5, ModelRot = 45 }, ["Assets/Actor/Pet/Pet_ZhongChongMing/Pet_ZhongChongMing_Show.prefab"] = { ModelXYZ = { -0.34, -0.77, 2.7 }, ModelScale = 0.5, ModelRot = -3 }, ["Assets/Actor/Pet/Pet_DaChongMing/Pet_DaChongMing_Show.prefab"] = { ModelXYZ = { -0.33, -0.8, 2.7 }, ModelScale = 0.4, ModelRot = -3 }, }, --以下界面只需要配置差异值,不配即直接使用Base数据 --宠物图鉴 [Const_UI_Lua.UIEnum.UIPetIllustratedHandbook] = { ["Assets/Actor/Pet/Pet_XiongMao/Pet_XiongMao_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiongMaoT1/Pet_XiongMaoT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_SunWuKong/Pet_SunWuKong_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_SunWuKongT1/Pet_SunWuKongT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_LongGui/Pet_LongGui_Show.prefab"] = { ModelScale = 0.8 }, ["Assets/Actor/Pet/Pet_LongGui/Pet_LongGui_R1.prefab"] = { ModelScale = 0.8 }, ["Assets/Actor/Pet/Pet_HuLi/Pet_HuLi_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_HuLiT1/Pet_HuLiT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiaoHuanXiong/Pet_XiaoHuanXiong_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiaoHuanXiongT1/Pet_XiaoHuanXiongT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_DaoLang/Pet_DaoLang_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_DaoLangT1/Pet_DaoLangT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiaoLongNv/Pet_XiaoLongNv_Show.prefab"] = { ModelScale = 0.9 }, ["Assets/Actor/Pet/Pet_ZhongLongNv/Pet_ZhongLongNv_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_DaLongNv/Pet_DaLongNv_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiaoChongMing/Pet_XiaoChongMing_Show.prefab"] = { ModelXYZ = { -0.35, -1.2, 2.7 }, ModelScale = 0.8 }, ["Assets/Actor/Pet/Pet_ZhongChongMing/Pet_ZhongChongMing_Show.prefab"] = { ModelXYZ = { -0.33, -0.57, 2.7 }, ModelScale = 1 }, ["Assets/Actor/Pet/Pet_DaChongMing/Pet_DaChongMing_Show.prefab"] = { ModelXYZ = { -0.33, -1.1, 2.7 },ModelScale = 1 }, }, --激活界面 [Const_UI_Lua.UIEnum.UIPetActiveSuccess] = { ["Assets/Actor/Pet/Pet_XiongMao/Pet_XiongMao_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiongMaoT1/Pet_XiongMaoT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_SunWuKong/Pet_SunWuKong_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_SunWuKongT1/Pet_SunWuKongT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_LongGui/Pet_LongGui_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_LongGui/Pet_LongGui_R1.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_HuLi/Pet_HuLi_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_HuLiT1/Pet_HuLiT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiaoHuanXiong/Pet_XiaoHuanXiong_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiaoHuanXiongT1/Pet_XiaoHuanXiongT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_DaoLang/Pet_DaoLang_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_DaoLangT1/Pet_DaoLangT1_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiaoLongNv/Pet_XiaoLongNv_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_ZhongLongNv/Pet_ZhongLongNv_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_DaLongNv/Pet_DaLongNv_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_XiaoChongMing/Pet_XiaoChongMing_Show.prefab"] = { ModelXYZ = { -0.33, -1.3, 2.7 }, ModelScale = 1 }, ["Assets/Actor/Pet/Pet_ZhongChongMing/Pet_ZhongChongMing_Show.prefab"] = { ModelScale = 1 }, ["Assets/Actor/Pet/Pet_DaChongMing/Pet_DaChongMing_Show.prefab"] = { ModelScale = 1 }, }, --宠物助阵 [Const_UI_Lua.UIEnum.UIPetArray] = { ["Assets/Actor/Pet/Pet_DaChongMing/Pet_DaChongMing_Show.prefab"] = { ModelXYZ = { -0.33, -1.1, 2.7 }, ModelScale = 0.5 }, ["Assets/Actor/Pet/Pet_ZhongLongNv/Pet_ZhongLongNv_Show.prefab"] = { ModelXYZ = { -0.33, -0.8, 2.7 }, ModelScale = 0.5 }, ["Assets/Actor/Pet/Pet_DaLongNv/Pet_DaLongNv_Show.prefab"] = { ModelXYZ = { -0.33, -0.89, 2.7 }, ModelScale = 0.5 }, ["Assets/Actor/Pet/Pet_LongGui/Pet_LongGui_Show.prefab"] = { ModelXYZ = { -0.25, -0.88, 2 }, ModelScale = 0.5 }, ["Assets/Actor/Pet/Pet_LongGui/Pet_LongGui_R1.prefab"] = { ModelXYZ = { -0.25, -0.88, 2 }, ModelScale = 0.5 }, ["Assets/Actor/Pet/Pet_XiongMao/Pet_XiongMao_Show.prefab"] = { ModelXYZ = { -0.37, -0.45, 3.1 }, ModelScale = 0.8 }, ["Assets/Actor/Pet/Pet_XiongMaoT1/Pet_XiongMaoT1_Show.prefab"] = { ModelXYZ = { -0.37, -0.45, 3.1 }, ModelScale = 0.8 }, }, } function PetModelCfg:initialize() --利用元表,减少重复的配置 local base = { __index = function(t, k) local baseData = StaticData.Base[t.ModelPath] return baseData[k] end } for k, v in pairs(StaticData) do if k ~= "Base" then for modelPath, data in pairs(v) do data.ModelPath = modelPath setmetatable(data, base) end end end --其他几个界面可以直接复用激活界面 local data = StaticData[Const_UI_Lua.UIEnum.UIPetActiveSuccess] StaticData[Const_UI_Lua.UIEnum.UIPetReproduction] = data StaticData[Const_UI_Lua.UIEnum.UIPetSuccinct] = data StaticData[Const_UI_Lua.UIEnum.UIPetChoosePopUp] = data StaticData[Const_UI_Lua.UIEnum.UIPetCatchPopUp] = data StaticData[Const_UI_Lua.UIEnum.UIGodPetBreak] = data StaticData[Const_UI_Lua.UIEnum.UIPetReproductionPopUp] = data end function PetModelCfg.GetData(class, modelPath) local data = StaticData[class] if data and data[modelPath] then return data[modelPath] end return StaticData.Base[modelPath] end return PetModelCfg