194 lines
7.4 KiB
Lua
194 lines
7.4 KiB
Lua
SmallSoldierManager = {}
|
|
local this = SmallSoldierManager
|
|
local ItemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
|
local settingConfig=ConfigManager.GetConfig(ConfigName.SoldiersSetting)
|
|
this.level=1
|
|
this.changeSolider=nil
|
|
this.upEndTime=0
|
|
|
|
function this.Initialize()
|
|
|
|
this.soldierList={}
|
|
--界面boss信息
|
|
this.bossInfo=nil
|
|
end
|
|
|
|
function this.InitData(msg)
|
|
--LogError("初始化============================================小兵管理器")
|
|
this.soldierList={}
|
|
this.level=msg.level
|
|
this.upEndTime=msg.upLvEndTime
|
|
if msg.soldiers then
|
|
for i=1,#msg.soldiers do
|
|
local v= msg.soldiers[i]
|
|
if v.position==-1 then
|
|
this.changeSolider=v
|
|
else
|
|
if v.position then
|
|
this.soldierList[v.position] = v
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
end
|
|
--LogError("服务器发过来的小兵 this.soldierList=================len=="..#this.soldierList.." msg.soldiers===="..#msg.soldiers)
|
|
HeroPropManager.SetFuncPropDirty(Func_Prop_Type.Solider)
|
|
|
|
local cd=60
|
|
Timer.New(function()
|
|
cd=cd-1
|
|
--LogError("cd============================"..cd)
|
|
if cd<=0 then
|
|
if UIManager.GetOpenPanel(UIName.FightPointPassMainPanel)==nil then
|
|
--LogError("发送小兵挂机战斗请求======================================================")
|
|
NetManager.SoldierFightCheckRequest(0,function (msg)
|
|
local lvConfig=ConfigManager.GetConfigData(ConfigName.SoldierStageConfig,FightPointPassManager.soldierLayerId)
|
|
if msg.result==1 then
|
|
if lvConfig and lvConfig.NextId and lvConfig.NextId~=0 then
|
|
FightPointPassManager.soldierLayerId = lvConfig.NextId
|
|
local curConfig=ConfigManager.GetConfigData(ConfigName.SoldierStageConfig,FightPointPassManager.soldierLayerId)
|
|
if curConfig then
|
|
cd=curConfig.Time
|
|
end
|
|
end
|
|
if cd==0 then
|
|
cd=lvConfig.Time
|
|
end
|
|
else
|
|
cd=lvConfig.Time
|
|
end
|
|
end)
|
|
end
|
|
end
|
|
end, 1, -1, true):Start()
|
|
|
|
end
|
|
--获取所有的加成属性
|
|
function this.GetAllAddPro()
|
|
local allAddPro={}
|
|
local list=FormationManager.GetAllMainFormationHeroId()
|
|
-- LogError("获取所有加成属性============================= list len=="..#list)
|
|
for key, value in pairs(list) do
|
|
local id=key
|
|
--LogError("id======================================"..id)
|
|
local heroData=HeroManager.GetSingleHeroData(id)
|
|
--便利队伍里每个英雄
|
|
if heroData then
|
|
--便利队伍里所有小兵给这个英雄加的属性
|
|
local proList={}
|
|
for k, v in pairs(this.soldierList) do
|
|
local addPro=0
|
|
--便利阵营
|
|
for j=1, #settingConfig[v.id].PropertyName do
|
|
local aaa=settingConfig[v.id].PropertyName[j]
|
|
if aaa then
|
|
if aaa[1]==0 then
|
|
addPro=addPro+aaa[2]
|
|
--LogError("111111111111111111111111111111")
|
|
elseif heroData.heroConfig.PropertyName==aaa[1] then
|
|
addPro=addPro+aaa[2]
|
|
end
|
|
end
|
|
end
|
|
for j=1, #settingConfig[v.id].Profession do
|
|
local aaa=settingConfig[v.id].Profession[j]
|
|
if aaa then
|
|
if aaa[1]==0 then
|
|
addPro=addPro+aaa[2]
|
|
elseif heroData.heroConfig.Profession==aaa[1] then
|
|
addPro=addPro+aaa[2]
|
|
end
|
|
end
|
|
end
|
|
-- for prok, prov in pairs(v.attributes) do
|
|
|
|
|
|
-- end
|
|
--LogError("addpro============================"..addPro)
|
|
for j=1,#v.attributes do
|
|
local prov=v.attributes[j]
|
|
if proList[prov.id] then
|
|
proList[prov.id]=proList[prov.id]+math.floor(prov.value*addPro/10000+0.5)
|
|
else
|
|
proList[prov.id]=math.floor(prov.value*addPro/10000+0.5)
|
|
|
|
end
|
|
end
|
|
end
|
|
allAddPro[heroData.dynamicId]=proList
|
|
-- for k, v in pairs(proList) do
|
|
-- LogError("k============"..k.." value======="..v.." herodata.name=="..heroData.heroConfig.ReadingName)
|
|
-- end
|
|
end
|
|
end
|
|
|
|
return allAddPro
|
|
end
|
|
|
|
|
|
--获取所有的加成属性
|
|
function this.GetAllHeroAddPro()
|
|
local allAddPro={}
|
|
local list=HeroManager.GetAllHeroList() --FormationManager.GetAllMainFormationHeroId()
|
|
-- LogError("获取所有加成属性============================= list len=="..#list)
|
|
for key, hero in pairs(list) do
|
|
local id=key
|
|
--LogError("id======================================"..id)
|
|
local heroData=HeroManager.GetSingleHeroData(id)
|
|
--便利队伍里每个英雄
|
|
if heroData and allAddPro[heroData.id]==nil then
|
|
--便利队伍里所有小兵给这个英雄加的属性
|
|
local proList={}
|
|
for k, v in pairs(this.soldierList) do
|
|
local addPro=0
|
|
--便利阵营
|
|
for j=1, #settingConfig[v.id].PropertyName do
|
|
local aaa=settingConfig[v.id].PropertyName[j]
|
|
if aaa then
|
|
if aaa[1]==0 then
|
|
addPro=addPro+aaa[2]
|
|
--LogError("111111111111111111111111111111")
|
|
elseif heroData.heroConfig.PropertyName==aaa[1] then
|
|
addPro=addPro+aaa[2]
|
|
end
|
|
end
|
|
end
|
|
for j=1, #settingConfig[v.id].Profession do
|
|
local aaa=settingConfig[v.id].Profession[j]
|
|
if aaa then
|
|
if aaa[1]==0 then
|
|
addPro=addPro+aaa[2]
|
|
elseif heroData.heroConfig.Profession==aaa[1] then
|
|
addPro=addPro+aaa[2]
|
|
end
|
|
end
|
|
end
|
|
-- for prok, prov in pairs(v.attributes) do
|
|
|
|
|
|
-- end
|
|
--LogError("addpro============================"..addPro)
|
|
for j=1,#v.attributes do
|
|
local prov=v.attributes[j]
|
|
if proList[prov.id] then
|
|
proList[prov.id]=proList[prov.id]+math.floor(prov.value*addPro/10000+0.5)
|
|
else
|
|
proList[prov.id]=math.floor(prov.value*addPro/10000+0.5)
|
|
|
|
end
|
|
end
|
|
end
|
|
|
|
allAddPro[heroData.id]=proList
|
|
-- for k, v in pairs(proList) do
|
|
-- LogError("k============"..k.." value======="..v.." herodata.name=="..heroData.heroConfig.ReadingName)
|
|
-- end
|
|
end
|
|
end
|
|
|
|
return allAddPro
|
|
end
|
|
|
|
|
|
return this |