From e06b0d8d314a16df21a5b6d587cd5b5b47f46be1 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Mon, 25 Jul 2022 18:39:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=9E=E6=80=A7=E8=AE=A1=E7=AE=97=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/hero/api_awaken.go | 2 +- modules/hero/api_resonance.go | 2 +- modules/hero/api_resonanceReset.go | 2 +- modules/hero/api_resonanceSelect.go | 2 +- modules/hero/api_strengthenUpSkill.go | 2 +- modules/hero/api_strengthenUpStar.go | 2 +- modules/hero/api_strengthenUplv.go | 2 +- modules/hero/model_hero.go | 15 ++++++--------- modules/hero/module.go | 6 +++--- 9 files changed, 16 insertions(+), 19 deletions(-) diff --git a/modules/hero/api_awaken.go b/modules/hero/api_awaken.go index 76ac28222..fd896cac8 100644 --- a/modules/hero/api_awaken.go +++ b/modules/hero/api_awaken.go @@ -102,7 +102,7 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c } } - m, err1 := this.module.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化 + m, err1 := this.module.modelHero.PushHeroProperty(session, _hero) // 推送属性变化 if err1 != nil { this.module.Errorf("PushHeroProperty err!") } diff --git a/modules/hero/api_resonance.go b/modules/hero/api_resonance.go index d16ebd548..890282bba 100644 --- a/modules/hero/api_resonance.go +++ b/modules/hero/api_resonance.go @@ -125,7 +125,7 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR } } - m, err1 := this.module.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化 + m, err1 := this.module.modelHero.PushHeroProperty(session, _hero) // 推送属性变化 if err1 != nil { this.module.Errorf("PushHeroProperty err!") } diff --git a/modules/hero/api_resonanceReset.go b/modules/hero/api_resonanceReset.go index 73e1914c1..e833ad801 100644 --- a/modules/hero/api_resonanceReset.go +++ b/modules/hero/api_resonanceReset.go @@ -81,7 +81,7 @@ func (this *apiComp) ResonanceReset(session comm.IUserSession, req *pb.HeroReson code = pb.ErrorCode_DBError return } - m, err1 := this.module.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化 + m, err1 := this.module.modelHero.PushHeroProperty(session, _hero) // 推送属性变化 if err1 != nil { this.module.Errorf("PushHeroProperty err!") } diff --git a/modules/hero/api_resonanceSelect.go b/modules/hero/api_resonanceSelect.go index 518e21869..66bea6f13 100644 --- a/modules/hero/api_resonanceSelect.go +++ b/modules/hero/api_resonanceSelect.go @@ -67,7 +67,7 @@ func (this *apiComp) ResonanceUseEnergy(session comm.IUserSession, req *pb.HeroR } this.module.modelHero.mergeMainProperty(session.GetUserId(), _hero, property) - m, err1 := this.module.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化 + m, err1 := this.module.modelHero.PushHeroProperty(session, _hero) // 推送属性变化 if err1 != nil { this.module.Errorf("PushHeroProperty err!") } diff --git a/modules/hero/api_strengthenUpSkill.go b/modules/hero/api_strengthenUpSkill.go index a9c5ccd73..3cf7ef1a1 100644 --- a/modules/hero/api_strengthenUpSkill.go +++ b/modules/hero/api_strengthenUpSkill.go @@ -131,7 +131,7 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt return } session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: []*pb.DBHero{_costHero}}) - m, err1 := this.module.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化 + m, err1 := this.module.modelHero.PushHeroProperty(session, _hero) // 推送属性变化 if err1 != nil { this.module.Errorf("PushHeroProperty err!") } diff --git a/modules/hero/api_strengthenUpStar.go b/modules/hero/api_strengthenUpStar.go index 0a27dcb67..02afc0886 100644 --- a/modules/hero/api_strengthenUpStar.go +++ b/modules/hero/api_strengthenUpStar.go @@ -168,7 +168,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr code = pb.ErrorCode_DBError this.module.Errorf("update hero skill failed:%v", err1) } - m, err1 := this.module.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化 + m, err1 := this.module.modelHero.PushHeroProperty(session, _hero) // 推送属性变化 if err1 != nil { code = pb.ErrorCode_Unknown this.module.Errorf("PushHeroProperty err!") diff --git a/modules/hero/api_strengthenUplv.go b/modules/hero/api_strengthenUplv.go index b823b80b5..08b0890b9 100644 --- a/modules/hero/api_strengthenUplv.go +++ b/modules/hero/api_strengthenUplv.go @@ -178,7 +178,7 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren _changeHero = append(_changeHero, _costExpHero[k]) } - m, err1 := this.module.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化 + m, err1 := this.module.modelHero.PushHeroProperty(session, _hero) // 推送属性变化 if err1 != nil { this.module.Errorf("PushHeroProperty err!") } diff --git a/modules/hero/model_hero.go b/modules/hero/model_hero.go index 77a1857db..87084e5d0 100644 --- a/modules/hero/model_hero.go +++ b/modules/hero/model_hero.go @@ -55,6 +55,7 @@ func (this *ModelHero) initHero(uid string, heroCfgId string) *pb.DBHero { Energy: make(map[int32]int32), Property: make(map[string]int32), } + newHero.Property = this.PropertyCompute(uid, newHero) this.initHeroSkill(newHero) return newHero } @@ -363,11 +364,7 @@ func (this *ModelHero) mergeAddProperty(uid string, hero *pb.DBHero, data map[st //属性计算 - 暂时放在modelHero里实现 //英雄基础属性 + 英雄等级基础属性 * 英雄成长系数 + 英雄星级对应等级属性 * 英雄品质系数 -func (this *ModelHero) PropertyCompute(uid, heroId string) map[string]int32 { - hero := this.getOneHero(uid, heroId) - if hero == nil { - return nil - } +func (this *ModelHero) PropertyCompute(uid string, hero *pb.DBHero) map[string]int32 { //英雄等级基础属性levelup heroLvCfg := this.moduleHero.configure.GetHeroLv(hero.Lv) @@ -421,14 +418,14 @@ func (this *ModelHero) PropertyCompute(uid, heroId string) map[string]int32 { } } -//推送用户指定英雄属性 -func (this *ModelHero) PushHeroProperty(session comm.IUserSession, heroId string) (m map[string]int32, err error) { - m = this.PropertyCompute(session.GetUserId(), heroId) +//重新计算英雄属性 +func (this *ModelHero) PushHeroProperty(session comm.IUserSession, hero *pb.DBHero) (m map[string]int32, err error) { + m = this.PropertyCompute(session.GetUserId(), hero) update := map[string]interface{}{ "property": m, } - if err = this.ChangeList(session.GetUserId(), heroId, update); err != nil { + if err = this.ChangeList(session.GetUserId(), hero.Id, update); err != nil { this.moduleHero.Errorf("PushHeroProperty err:%v", err) return } diff --git a/modules/hero/module.go b/modules/hero/module.go index 638a8b03f..2b2a1a05a 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -85,9 +85,9 @@ func (this *Hero) UpdateEquipment(session comm.IUserSession, hero *pb.DBHero, eq //英雄列表 func (this *Hero) GetHeroList(uid string) []*pb.DBHero { heroes := this.modelHero.getHeroList(uid) - for _, h := range heroes { - h.Property = this.modelHero.PropertyCompute(uid, h.Id) - } + // for _, h := range heroes { + // h.Property = this.modelHero.PropertyCompute(uid, h) + // } return heroes }