package autoBattle import ( "go_dreamfactory/comm" "go_dreamfactory/pb" ) //参数校验 func (this *apiComp) AutoOverCheck(session comm.IUserSession, req *pb.AutoBattleOverReq) (code pb.ErrorCode) { if req.Ptype == pb.PlayType_null || req.Report == nil { code = pb.ErrorCode_ReqParameterError return } if req.Report.Info == nil { code = pb.ErrorCode_ReqParameterError return } return } func (this *apiComp) AutoOver(session comm.IUserSession, req *pb.AutoBattleOverReq) (code pb.ErrorCode, data *pb.ErrorData) { var ( autoBattle *pb.DBAutoBattle atno []*pb.UserAtno autoOver bool ) if code = this.AutoOverCheck(session, req); code != pb.ErrorCode_Success { return } list, err := this.module.modelAutoBattle.getAutoBattleList(session.GetUserId()) if err != nil { code = pb.ErrorCode_DBError return } for _, v := range list { if v.Ptype == req.Ptype { // 有正在自动战斗的数据 autoBattle = v } } if autoBattle == nil { code = pb.ErrorCode_AutoBattleNoData return } // 分析战报 数据 if req.Ptype == pb.PlayType_viking { if code, atno = this.viking.AutoBattleOver(session, req.Report, autoBattle); code != pb.ErrorCode_Success { this.module.modelAutoBattle.DelListByObjId(session.GetUserId(), autoBattle.Id) // 自动战斗结束 删除数据 autoOver = true } } code, battleInfo := this.viking.AutoBattleInfo(session, autoBattle.Battle, autoBattle.BossId, autoBattle.Difficulty) if code == pb.ErrorCode_Success { session.SendMsg(string(this.module.GetType()), "challenge", &pb.AutoBattleChallengeResp{ Info: battleInfo, }) } session.SendMsg(string(this.module.GetType()), "over", &pb.AutoBattleOverResp{ Asset: atno, Info: battleInfo, Over: autoOver, }) return }