2021-05-11 17:23:19 +08:00
|
|
|
PracticeManager = {}
|
|
|
|
local this = PracticeManager
|
2021-05-12 10:35:58 +08:00
|
|
|
local XinXianConfig = ConfigManager.GetConfig(ConfigName.XiuXianConfig)
|
2021-05-12 17:40:38 +08:00
|
|
|
local PropertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
|
2021-05-11 17:23:19 +08:00
|
|
|
|
|
|
|
function this.Initialize()
|
2021-05-12 10:35:58 +08:00
|
|
|
this.PracticeLevel = 1
|
2021-05-12 17:40:38 +08:00
|
|
|
this.PracticeBigLevel = 1
|
2021-05-11 17:23:19 +08:00
|
|
|
this.StarNum = 0
|
|
|
|
this.PracticeConfigData = {}
|
|
|
|
end
|
2021-05-12 10:35:58 +08:00
|
|
|
--从服务器更新当前修行等级
|
2021-05-12 20:53:34 +08:00
|
|
|
function this.UpdataFromServer(_level)
|
|
|
|
this.PracticeLevel = _level
|
|
|
|
this.PracticeLevel = this.PracticeLevel > 0 and this.PracticeLevel or 1
|
2021-05-12 17:40:38 +08:00
|
|
|
this.PracticeBigLevel = XinXianConfig[this.PracticeLevel].RealmId
|
2021-05-11 17:23:19 +08:00
|
|
|
this.StarNum = PlayerManager.level
|
|
|
|
end
|
|
|
|
|
2021-05-12 10:35:58 +08:00
|
|
|
--获取当前等级表数据
|
|
|
|
function this.GetCurConfigData()
|
|
|
|
return XinXianConfig[this.PracticeLevel]
|
|
|
|
end
|
|
|
|
|
2021-05-12 20:53:34 +08:00
|
|
|
function this.BuildAddTemplate()
|
|
|
|
local TemplateList = {}
|
|
|
|
for _, configInfo in ConfigPairs(PropertyConfig) do
|
|
|
|
if configInfo.IfShow == 1 or configInfo.IfShow == 2 then
|
|
|
|
TemplateList[configInfo.PropertyId] = 0
|
|
|
|
end
|
|
|
|
end
|
|
|
|
return TemplateList
|
|
|
|
end
|
|
|
|
|
2021-05-12 10:35:58 +08:00
|
|
|
--获取每一小点属性加成
|
|
|
|
function this.GetSinglePointAdd()
|
|
|
|
local singlePointAddList = {}
|
|
|
|
local TotalPros = XinXianConfig[this.PracticeLevel].TotalPros
|
|
|
|
for i = 1, #TotalPros do
|
|
|
|
if not singlePointAddList[TotalPros[i][1]] then
|
|
|
|
singlePointAddList[TotalPros[i][1]] = 0
|
|
|
|
end
|
|
|
|
singlePointAddList[TotalPros[i][1]] = TotalPros[i][2]
|
|
|
|
end
|
|
|
|
return singlePointAddList
|
|
|
|
end
|
|
|
|
|
|
|
|
--获取当前获得的所有属性相加
|
|
|
|
function this.GetCurAllGetAdd()
|
2021-05-12 20:53:34 +08:00
|
|
|
local PropertyList = this.BuildAddTemplate()
|
2021-05-12 10:35:58 +08:00
|
|
|
for i = 1, this.PracticeLevel do
|
2021-05-12 20:53:34 +08:00
|
|
|
if XinXianConfig[this.PracticeLevel].TotalPros then
|
|
|
|
local Pros = XinXianConfig[this.PracticeLevel].TotalPros
|
|
|
|
for i = 1, #Pros do
|
|
|
|
PropertyList[Pros[i][1]] = PropertyList[Pros[i][1]] + Pros[i][2]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
return PropertyList
|
|
|
|
end
|
|
|
|
|
|
|
|
--获取各个大境界中所有小属性加成的总和+模板的
|
|
|
|
function this.GetAddsListWithTemplate()
|
|
|
|
local PropertyList = this.BuildAddTemplate()
|
|
|
|
local addsList = {}
|
|
|
|
for i, v in ConfigPairs(XinXianConfig) do
|
|
|
|
if v.TotalPros then
|
|
|
|
local Pros = v.TotalPros
|
|
|
|
for i = 1, #Pros do
|
|
|
|
PropertyList[Pros[i][1]] = PropertyList[Pros[i][1]] + Pros[i][2]
|
2021-05-12 10:35:58 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2021-05-12 20:53:34 +08:00
|
|
|
return PropertyList
|
2021-05-12 10:35:58 +08:00
|
|
|
end
|
|
|
|
|
2021-05-12 20:53:34 +08:00
|
|
|
--获取各个大境界中所有小属性加成的总和不加模板的
|
|
|
|
function this.GetAddsListWithOutTemplate()
|
2021-05-12 10:35:58 +08:00
|
|
|
local addsList = {}
|
|
|
|
for i, v in ConfigPairs(XinXianConfig) do
|
|
|
|
if not addsList[v.RealmId] then
|
|
|
|
addsList[v.RealmId] = {}
|
|
|
|
end
|
2021-05-12 17:40:38 +08:00
|
|
|
if v.TotalPros then
|
|
|
|
local Pros = v.TotalPros
|
|
|
|
for i = 1, #Pros do
|
|
|
|
if not addsList[v.RealmId][Pros[i][1]] then
|
|
|
|
addsList[v.RealmId][Pros[i][1]] = 0
|
|
|
|
end
|
|
|
|
addsList[v.RealmId][Pros[i][1]] = addsList[v.RealmId][Pros[i][1]] + Pros[i][2]
|
2021-05-12 10:35:58 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
return addsList
|
|
|
|
end
|
|
|
|
|
2021-05-12 17:40:38 +08:00
|
|
|
--获取预览界面数据
|
|
|
|
function this.GetPreViewData()
|
2021-05-12 20:53:34 +08:00
|
|
|
local AddListData = this.GetAddsListWithOutTemplate()
|
2021-05-12 17:40:38 +08:00
|
|
|
local previewList = {}
|
|
|
|
for i = 2, #AddListData do
|
|
|
|
local data = {}
|
|
|
|
local configData = ConfigManager.GetConfigDataByKey(ConfigName.XiuXianConfig,"RealmId",i)
|
|
|
|
data.RealmName = configData.RealmName
|
|
|
|
data.RealmDesc = configData.RealmDesc
|
|
|
|
data.IsActive = this.PracticeBigLevel >= i
|
|
|
|
data.AddList = AddListData[i]
|
|
|
|
table.insert(previewList,data)
|
|
|
|
end
|
|
|
|
return previewList
|
|
|
|
end
|
|
|
|
|
|
|
|
function this.GetPreviewSingleText(id,value)
|
|
|
|
return string.format("全体神将%s+%s",PropertyConfig[id].Info,value)
|
|
|
|
end
|
|
|
|
|
2021-05-11 17:23:19 +08:00
|
|
|
return PracticeManager
|