不再写图鉴数据,可通过英雄列表数据获取

This commit is contained in:
meixiongfeng 2023-02-01 18:26:47 +08:00
parent 4f6aafdcde
commit 949037c4b9
2 changed files with 21 additions and 35 deletions

View File

@ -903,6 +903,7 @@ func (this *ModelHero) createHero(session comm.IUserSession, heroCfgId string, c
this.moduleHero.Errorf("err:%v", err)
}
}
bFirst = true
for _, obj := range heros {
if obj.HeroID == heroCfgId {
hero = obj
@ -910,7 +911,7 @@ func (this *ModelHero) createHero(session comm.IUserSession, heroCfgId string, c
break
}
}
if hero != nil { // 没有当前英雄
if bFirst { // 没有当前英雄
count -= 1
hero, err = this.initHeroOverlying(uid, heroCfgId, 1)
if err != nil {

View File

@ -76,10 +76,9 @@ func (this *Hero) Start() (err error) {
}
//创建单个叠加英雄
func (this *Hero) createRepeatHero(session comm.IUserSession, heroCfgId string, num int32) (hero *pb.DBHero, code pb.ErrorCode) {
func (this *Hero) createRepeatHero(session comm.IUserSession, heroCfgId string, num int32) (hero *pb.DBHero, bFirst bool, code pb.ErrorCode) {
var (
err error
bFirst bool
err error
)
hero, bFirst, err = this.modelHero.createHero(session, heroCfgId, num)
if err == nil && bFirst {
@ -270,47 +269,33 @@ func (this *Hero) CreateRepeatHeros(session comm.IUserSession, heros map[string]
var (
changeList []*pb.DBHero
firstGet []string
bFirst bool
)
for heroCfgId, num := range heros {
if num == 0 { // 数量为0 不做处理
continue
}
if hero, code = this.createRepeatHero(session, heroCfgId, num); code != pb.ErrorCode_Success {
if hero, bFirst, code = this.createRepeatHero(session, heroCfgId, num); code != pb.ErrorCode_Success {
this.Errorf("create hero %s failed", heroCfgId)
return
continue
}
if result, err1 := this.ModuleUser.GetUserExpand(session.GetUserId()); err1 == nil {
initUpdate := map[string]interface{}{}
sz := result.GetTujian()
if len(sz) == 0 {
sz = make(map[string]int32, 0)
}
if _, ok := result.GetTujian()[heroCfgId]; !ok {
heroConf := this.modelHero.moduleHero.configure.GetHeroConfig(heroCfgId)
if heroConf != nil {
if heroConf.Handbook == -1 {
sz[heroCfgId] = 0
} else {
sz[heroCfgId] = 1
}
initUpdate["tujian"] = sz
this.ModuleUser.ChangeUserExpand(session.GetUserId(), initUpdate)
firstGet = append(firstGet, heroCfgId)
}
changeList = append(changeList, hero)
}
if bFirst {
firstGet = append(firstGet, heroCfgId)
changeList = append(changeList, hero)
}
}
if bPush && len(changeList) > 0 { //推送
session.SendMsg("hero", "change", &pb.HeroChangePush{List: changeList})
}
// 首次获得英雄 则推送
if len(firstGet) > 0 {
session.SendMsg("hero", "firstget", &pb.HeroFirstGetPush{
HeroId: firstGet,
})
if bPush { //推送
if len(changeList) > 0 {
session.SendMsg("hero", "change", &pb.HeroChangePush{List: changeList})
}
// 首次获得英雄 则推送
if len(firstGet) > 0 {
session.SendMsg("hero", "firstget", &pb.HeroFirstGetPush{
HeroId: firstGet,
})
}
}
return