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