diff --git a/comm/imodule.go b/comm/imodule.go index cddab5c44..c29a228eb 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -49,7 +49,7 @@ type ( //清理玩家英雄数据 CleanData(uid string) // 获取指定星级等级的英雄 - GetSpecifiedHero(uid, heroConfId string, star, lv int32) (*pb.DBHero, error) + GetSpecifiedHero(session IUserSession, heroConfId string, star, lv int32) (*pb.DBHero, error) } //玩家 diff --git a/modules/hero/module.go b/modules/hero/module.go index 46a5e0c8b..943ac4892 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -123,11 +123,11 @@ func (this *Hero) CleanData(uid string) { } // 创建一些特殊的英雄 -func (this *Hero) GetSpecifiedHero(uid, heroConfId string, star, lv int32) (hero *pb.DBHero, err error) { - if uid == "" || heroConfId == "" || star == 0 || lv == 0 { +func (this *Hero) GetSpecifiedHero(session comm.IUserSession, heroConfId string, star, lv int32) (hero *pb.DBHero, err error) { + if session.GetUserId() == "" || heroConfId == "" || star == 0 || lv == 0 { return nil, errors.New("parameter err") } - hero, err = this.modelHero.createOneHero(uid, heroConfId) + hero, err = this.modelHero.createOneHero(session.GetUserId(), heroConfId) if err == nil { return } @@ -139,11 +139,16 @@ func (this *Hero) GetSpecifiedHero(uid, heroConfId string, star, lv int32) (hero "isOverlying": false, } // 保存数据 - err = this.modelHero.ChangeList(uid, hero.Id, _heroMap) + err = this.modelHero.ChangeList(session.GetUserId(), hero.Id, _heroMap) if err != nil { log.Errorf("GetSpecified failed:%v", err) return } + list := make([]*pb.DBHero, 0) + + list = append(list, hero) + // push change + session.SendMsg("hero", "change", &pb.HeroChangePush{List: list}) return }