miduo_client/Assets/ManagedResources/~Lua/Modules/Practice/PracticeManager.lua

92 lines
2.8 KiB
Lua
Raw Normal View History

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-11 17:23:19 +08:00
function this.UpdataFromServer(msg)
this.PracticeLevel = msg.level
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
--获取每一小点属性加成
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()
local curAllGetAddList = {}
for i = 1, this.PracticeLevel do
local Pros = XinXianConfig[this.PracticeLevel].TotalPros
for i = 1, #Pros do
if not curAllGetAddList[Pros[i][1]] then
curAllGetAddList[Pros[i][1]] = 0
end
2021-05-12 17:40:38 +08:00
curAllGetAddList[Pros[i][1]] = curAllGetAddList[Pros[i][1]] + Pros[i][2]
2021-05-12 10:35:58 +08:00
end
end
return curAllGetAddList
end
--获取各个大境界中所有小属性加成的总和
function this.GetAddsList()
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()
local AddListData = this.GetAddsList()
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