上传竞技场战斗数据不同步问题

This commit is contained in:
liwei1dao 2024-02-21 16:14:10 +08:00
parent 695b055556
commit f93bebeeea

View File

@ -35,7 +35,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge
bule *pb.ArenaPlayer
heros []*pb.DBHero
record *pb.DBBattleRecord
change bool
// change bool
isopen bool
ok bool
err error
@ -65,56 +65,47 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge
go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) {
this.module.WriteUserLog(session.GetUserId(), req, comm.GMResDelType, "ArenaChallengeReq", this.module.ModuleTools.GetGlobalConf().ArenaTicketCos) // 消耗资源
})
if red.Attack != nil {
for i, v := range req.Battle.Format {
if (red.Attack.Formt[i] != nil && red.Attack.Formt[i].Id != v) || (red.Attack.Formt[i] == nil && v != "") {
change = true
}
// if red.Defend == nil || change {
if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Battle.Format); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
ok = false
for _, v := range heros {
if v != nil && v.Id != "" {
ok = true
}
} else {
change = true
}
if red.Defend == nil || change {
if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Battle.Format); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
ok = false
for _, v := range heros {
if v != nil && v.Id != "" {
ok = true
}
}
if !ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: "no found any hero",
}
return
}
if red.Defend == nil {
red.Defend = &pb.DBPlayerBattleFormt{
Leadpos: req.Battle.Leadpos,
Formt: heros,
}
red.Isdef = true
}
if change {
red.Attack = &pb.DBPlayerBattleFormt{
Leadpos: req.Battle.Leadpos,
Formt: heros,
}
if !ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: "no found any hero",
}
return
}
if red.Defend == nil {
red.Defend = &pb.DBPlayerBattleFormt{
Leadpos: req.Battle.Leadpos,
Formt: heros,
}
red.Isdef = true
}
// if change {
red.Attack = &pb.DBPlayerBattleFormt{
Leadpos: req.Battle.Leadpos,
Formt: heros,
}
// }
// }
if !req.Isai {
if bule, err = this.module.modelArena.queryArenaPlayer(req.Playerid); err != nil {
errdata = &pb.ErrorData{