From 6dc481f07dcbfc666d0c575f2c70f710b705aece Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Tue, 16 Aug 2022 15:02:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E8=8B=B1=E9=9B=84=E5=8A=A0=E7=BB=8F?= =?UTF-8?q?=E9=AA=8C=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/imodule.go | 2 ++ modules/hero/module.go | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/comm/imodule.go b/comm/imodule.go index 8d1022f86..cc11cc821 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -52,6 +52,8 @@ type ( CleanData(uid string) // 获取指定星级等级的英雄 GetSpecifiedHero(session IUserSession, heroConfId string, star, lv, amount int32) (code pb.ErrorCode) + // 英雄加经验 + AddHeroExp(session IUserSession, heroObjID string, exp int32) (code pb.ErrorCode) } //玩家 diff --git a/modules/hero/module.go b/modules/hero/module.go index 1c01452a5..e9a91c3cd 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -224,3 +224,25 @@ func (this *Hero) CreateRepeatHeros(session comm.IUserSession, heros map[string] return } +func (this *ModelHero) AddHeroExp(session comm.IUserSession, heroObjID string, exp int32) (code pb.ErrorCode) { + var ( + _hero *pb.DBHero + newhero *pb.DBHero + _changeHero []*pb.DBHero // 变化的英雄 + ) + _hero, code = this.moduleHero.GetHeroByObjID(session.GetUserId(), heroObjID) + if code != pb.ErrorCode_Success { + return + } + newhero, code = this.AddCardExp(session.GetUserId(), _hero, exp) + if code != pb.ErrorCode_Success { + return + } + _changeHero = append(_changeHero, _hero) // 升级后的英雄 hero id 不变 + if newhero != nil { + _changeHero = append(_changeHero, newhero) // 原来的英雄 只是数量变化了 + } + _changeHero = append(_changeHero, _hero) + session.SendMsg(string(this.moduleHero.GetType()), "change", &pb.HeroChangePush{List: _changeHero}) + return +}