战斗中主动退出处理

This commit is contained in:
liwei1dao 2023-04-11 10:50:19 +08:00
parent be9aead903
commit 5a44eaffdb

View File

@ -18,6 +18,7 @@ func (this *apiComp) ActiveCancel(session comm.IUserSession, req *pb.PvpActiveCa
var ( var (
battle *BattleItem battle *BattleItem
ok bool ok bool
faiside int32
winside int32 winside int32
) )
if code = this.ActiveCancelCheck(session, req); code != pb.ErrorCode_Success { if code = this.ActiveCancelCheck(session, req); code != pb.ErrorCode_Success {
@ -28,19 +29,28 @@ func (this *apiComp) ActiveCancel(session comm.IUserSession, req *pb.PvpActiveCa
this.module.lock.RUnlock() this.module.lock.RUnlock()
if ok { if ok {
if battle.Red.Uid == session.GetUserId() { if battle.Red.Uid == session.GetUserId() {
faiside = 1
winside = 2 winside = 2
} else { } else {
faiside = 2
winside = 1 winside = 1
} }
this.module.PvpFinishPush(&pb.BattleFinishPush{ if battle.State == pb.PvpState_battle {
Battleid: req.Battleid, this.module.battle.ConcedeBattle(&pb.BattleConcedeReq{
WinSide: winside, Battleid: req.Battleid,
}) Side: faiside,
if err := this.module.SendMsgToSession(string(comm.ModulePvp), "cancel", &pb.PvpCancelPush{ })
ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()), } else {
Battleid: battle.Id, this.module.PvpFinishPush(&pb.BattleFinishPush{
}, battle.RedSession, battle.BlueSession); err != nil { Battleid: req.Battleid,
this.module.Errorln(err) WinSide: winside,
})
if err := this.module.SendMsgToSession(string(comm.ModulePvp), "cancel", &pb.PvpCancelPush{
ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()),
Battleid: battle.Id,
}, battle.RedSession, battle.BlueSession); err != nil {
this.module.Errorln(err)
}
} }
} else { } else {
code = pb.ErrorCode_BattleInCmdFailed code = pb.ErrorCode_BattleInCmdFailed