不再写图鉴数据,可通过英雄列表数据获取
This commit is contained in:
parent
4f6aafdcde
commit
949037c4b9
@ -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 {
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user