上传竞技场代码

This commit is contained in:
liwei1dao 2022-10-24 11:14:01 +08:00
parent 13dec018fe
commit 88d0b5519f
7 changed files with 397 additions and 148 deletions

View File

@ -2,6 +2,7 @@ package arena
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
@ -15,6 +16,17 @@ func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.ArenaInfoReq)
///获取自己的排行榜信息 ///获取自己的排行榜信息
func (this *apiComp) Info(session comm.IUserSession, req *pb.ArenaInfoReq) (code pb.ErrorCode, data proto.Message) { func (this *apiComp) Info(session comm.IUserSession, req *pb.ArenaInfoReq) (code pb.ErrorCode, data proto.Message) {
var (
info *pb.DBArenaUser
err error
)
if code = this.InfoCheck(session, req); code != pb.ErrorCode_Success {
return
}
if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil && err != mgo.MongodbNil {
code = pb.ErrorCode_DBError
return
}
session.SendMsg(string(this.module.GetType()), "Info", &pb.ArenaInfoResp{Info: info})
return return
} }

View File

@ -15,6 +15,12 @@ func (this *apiComp) MatcheCheck(session comm.IUserSession, req *pb.ArenaMatcheR
///匹配 ///匹配
func (this *apiComp) Matche(session comm.IUserSession, req *pb.ArenaMatcheReq) (code pb.ErrorCode, data proto.Message) { func (this *apiComp) Matche(session comm.IUserSession, req *pb.ArenaMatcheReq) (code pb.ErrorCode, data proto.Message) {
var (
// err error
)
if code = this.MatcheCheck(session, req); code != pb.ErrorCode_Success {
return
}
return return
} }

View File

@ -0,0 +1,50 @@
package arena
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) SetAttFormtCheck(session comm.IUserSession, req *pb.ArenaSetAttFormtReq) (code pb.ErrorCode) {
return
}
///设置防守阵型
func (this *apiComp) SetAttFormt(session comm.IUserSession, req *pb.ArenaSetAttFormtReq) (code pb.ErrorCode, data proto.Message) {
var (
info *pb.DBArenaUser
heros []*pb.DBHero
err error
)
if code = this.SetAttFormtCheck(session, req); code != pb.ErrorCode_Success {
return
}
if info, err = this.module.modelArena.queryPlayerInfo(session.GetUserId()); err != nil && err != mgo.MongodbNil {
code = pb.ErrorCode_DBError
return
}
if err == mgo.MongodbNil {
info = &pb.DBArenaUser{
Uid: session.GetUserId(),
}
}
if heros, err = this.module.modelArena.queryUserHeros(session.GetUserId(), req.Formt); err != nil {
code = pb.ErrorCode_DBError
return
}
info.Defend = &pb.DBPlayerBattleFormt{
Leadpos: req.Leadpos,
Formt: heros,
}
if err = this.module.modelArena.updateArenaUserInfo(info); err != nil {
code = pb.ErrorCode_DBError
return
}
session.SendMsg(string(this.module.GetType()), "setattformt", &pb.ArenaSetAttFormtResp{Issucc: true})
return
}

View File

@ -41,6 +41,10 @@ func (this *apiComp) SetDefFormt(session comm.IUserSession, req *pb.ArenaSetDefF
Leadpos: req.Leadpos, Leadpos: req.Leadpos,
Formt: heros, Formt: heros,
} }
if err = this.module.modelArena.updateArenaUserInfo(info); err != nil {
code = pb.ErrorCode_DBError
return
}
session.SendMsg(string(this.module.GetType()), "setdefformt", &pb.ArenaSetDefFormtResp{Issucc: true})
return return
} }

View File

@ -48,22 +48,53 @@ func (this *modelArena) queryUserHeros(uid string, heroids []string) (results []
} }
///保存用户竞技场信息 ///保存用户竞技场信息
func (this *modelArena) UpdateArenaUserInfo(info *pb.DBArenaUser) (err error) { func (this *modelArena) updateArenaUserInfo(info *pb.DBArenaUser) (err error) {
this.Change(info.Uid, map[string]interface{}{}) this.Change(info.Uid, map[string]interface{}{
"integral": info.Integral,
"attack": info.Attack,
"defend": info.Defend,
"streak": info.Streak,
})
return return
} }
//获取目标去陪数据 //获取目标去陪数据
func (this *modelArena) matchePlayer(integral int32) (results []*pb.DBArenaUser, err error) { // func (this *modelArena) matchePlayer(integral int32) (results []*pb.DBArenaUser, err error) {
// var (
// cursor *mongo.Cursor
// )
// project := bson.M{"$project": bson.M{
// "diff": bson.M{
// "$abs": bson.M{"$subtract": bson.A{integral, "$start"}},
// },
// }}
// if cursor, err = this.DBModel.DB.Aggregate(comm.TableArena, bson.A{project}); err != nil {
// this.module.Errorln(err)
// return
// } else {
// for cursor.Next(context.Background()) {
// temp := &pb.DBArenaUser{}
// if err = cursor.Decode(temp); err != nil {
// this.module.Errorln(err)
// return
// }
// }
// }
// return
// }
//匹配机器人
func (this *modelArena) matcheAI() (results []*pb.DBArenaUser, err error) {
return
}
//获取目标去陪数据
func (this *modelArena) matchePlayer(min, max int32) (results []*pb.DBArenaUser, err error) {
var ( var (
cursor *mongo.Cursor cursor *mongo.Cursor
) )
project := bson.M{"$project": bson.M{ if cursor, err = this.DBModel.DB.Find(comm.TableArena, bson.M{}); err != nil {
"diff": bson.M{
"$abs": bson.M{"$subtract": bson.A{integral, "$start"}},
},
}}
if cursor, err = this.DBModel.DB.Aggregate(comm.TableArena, bson.A{project}); err != nil {
this.module.Errorln(err) this.module.Errorln(err)
return return
} else { } else {
@ -77,9 +108,3 @@ func (this *modelArena) matchePlayer(integral int32) (results []*pb.DBArenaUser,
} }
return return
} }
//匹配机器人
func (this *modelArena) matcheAI() (results []*pb.DBArenaUser, err error) {
return
}

View File

@ -243,14 +243,13 @@ type DBArenaUser struct {
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
Integral int32 `protobuf:"varint,2,opt,name=Integral,proto3" json:"Integral"` //积分 Integral int32 `protobuf:"varint,2,opt,name=integral,proto3" json:"integral"` //积分
Leadpos int32 `protobuf:"varint,3,opt,name=leadpos,proto3" json:"leadpos"` //队长位置 Attack *DBPlayerBattleFormt `protobuf:"bytes,3,opt,name=attack,proto3" json:"attack"` //进攻阵型
Attack []string `protobuf:"bytes,4,rep,name=attack,proto3" json:"attack"` //进攻阵型 Defend *DBPlayerBattleFormt `protobuf:"bytes,4,opt,name=defend,proto3" json:"defend"` //防守阵型
Defend *DBPlayerBattleFormt `protobuf:"bytes,5,opt,name=defend,proto3" json:"defend"` //防守阵型 Streak int32 `protobuf:"varint,5,opt,name=streak,proto3" json:"streak"` //连胜
Streak int32 `protobuf:"varint,6,opt,name=streak,proto3" json:"streak"` //连胜 Attackrate int32 `protobuf:"varint,6,opt,name=attackrate,proto3" json:"attackrate"` //进攻胜率
Attackrate int32 `protobuf:"varint,7,opt,name=attackrate,proto3" json:"attackrate"` //进攻胜率 Defendrate int32 `protobuf:"varint,7,opt,name=defendrate,proto3" json:"defendrate"` //防守胜率
Defendrate int32 `protobuf:"varint,8,opt,name=defendrate,proto3" json:"defendrate"` //防守胜率 Rank int32 `protobuf:"varint,8,opt,name=rank,proto3" json:"rank"` //排名
Rank int32 `protobuf:"varint,9,opt,name=rank,proto3" json:"rank"` //排名
} }
func (x *DBArenaUser) Reset() { func (x *DBArenaUser) Reset() {
@ -299,14 +298,7 @@ func (x *DBArenaUser) GetIntegral() int32 {
return 0 return 0
} }
func (x *DBArenaUser) GetLeadpos() int32 { func (x *DBArenaUser) GetAttack() *DBPlayerBattleFormt {
if x != nil {
return x.Leadpos
}
return 0
}
func (x *DBArenaUser) GetAttack() []string {
if x != nil { if x != nil {
return x.Attack return x.Attack
} }
@ -377,24 +369,24 @@ var file_arena_arena_db_proto_rawDesc = []byte{
0x61, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x69, 0x76, 0x61, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x69, 0x76, 0x61,
0x6c, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x6c, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x6e, 0x61, 0x6d,
0x65, 0x22, 0x87, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x55, 0x73, 0x65, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x55, 0x73, 0x65,
0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12,
0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x2c, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x14, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x2c, 0x0a,
0x6b, 0x12, 0x2c, 0x0a, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x44, 0x42, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f,
0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x12, 0x72, 0x6d, 0x74, 0x52, 0x06, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73,
0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x72,
0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x65, 0x61, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x72, 0x61, 0x74,
0x6b, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x72,
0x61, 0x63, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x72, 0x61, 0x74,
0x64, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x72,
0x65, 0x6e, 0x64, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28,
0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -420,12 +412,13 @@ var file_arena_arena_db_proto_goTypes = []interface{}{
var file_arena_arena_db_proto_depIdxs = []int32{ var file_arena_arena_db_proto_depIdxs = []int32{
4, // 0: DBPlayerBattleFormt.formt:type_name -> DBHero 4, // 0: DBPlayerBattleFormt.formt:type_name -> DBHero
0, // 1: ArenaPlayer.attack:type_name -> DBPlayerBattleFormt 0, // 1: ArenaPlayer.attack:type_name -> DBPlayerBattleFormt
0, // 2: DBArenaUser.defend:type_name -> DBPlayerBattleFormt 0, // 2: DBArenaUser.attack:type_name -> DBPlayerBattleFormt
3, // [3:3] is the sub-list for method output_type 0, // 3: DBArenaUser.defend:type_name -> DBPlayerBattleFormt
3, // [3:3] is the sub-list for method input_type 4, // [4:4] is the sub-list for method output_type
3, // [3:3] is the sub-list for extension type_name 4, // [4:4] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension extendee 4, // [4:4] is the sub-list for extension type_name
0, // [0:3] is the sub-list for field type_name 4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
} }
func init() { file_arena_arena_db_proto_init() } func init() { file_arena_arena_db_proto_init() }

View File

@ -107,6 +107,110 @@ func (x *ArenaInfoResp) GetInfo() *DBArenaUser {
return nil return nil
} }
//设置进攻阵型
type ArenaSetAttFormtReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Leadpos int32 `protobuf:"varint,1,opt,name=leadpos,proto3" json:"leadpos"` //队长位置
Formt []string `protobuf:"bytes,2,rep,name=formt,proto3" json:"formt"` //进攻阵型
}
func (x *ArenaSetAttFormtReq) Reset() {
*x = ArenaSetAttFormtReq{}
if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ArenaSetAttFormtReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ArenaSetAttFormtReq) ProtoMessage() {}
func (x *ArenaSetAttFormtReq) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ArenaSetAttFormtReq.ProtoReflect.Descriptor instead.
func (*ArenaSetAttFormtReq) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{2}
}
func (x *ArenaSetAttFormtReq) GetLeadpos() int32 {
if x != nil {
return x.Leadpos
}
return 0
}
func (x *ArenaSetAttFormtReq) GetFormt() []string {
if x != nil {
return x.Formt
}
return nil
}
//设置进攻阵型
type ArenaSetAttFormtResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"`
}
func (x *ArenaSetAttFormtResp) Reset() {
*x = ArenaSetAttFormtResp{}
if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ArenaSetAttFormtResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ArenaSetAttFormtResp) ProtoMessage() {}
func (x *ArenaSetAttFormtResp) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ArenaSetAttFormtResp.ProtoReflect.Descriptor instead.
func (*ArenaSetAttFormtResp) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{3}
}
func (x *ArenaSetAttFormtResp) GetIssucc() bool {
if x != nil {
return x.Issucc
}
return false
}
//设置防守阵型 //设置防守阵型
type ArenaSetDefFormtReq struct { type ArenaSetDefFormtReq struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -120,7 +224,7 @@ type ArenaSetDefFormtReq struct {
func (x *ArenaSetDefFormtReq) Reset() { func (x *ArenaSetDefFormtReq) Reset() {
*x = ArenaSetDefFormtReq{} *x = ArenaSetDefFormtReq{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[2] mi := &file_arena_arena_msg_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -133,7 +237,7 @@ func (x *ArenaSetDefFormtReq) String() string {
func (*ArenaSetDefFormtReq) ProtoMessage() {} func (*ArenaSetDefFormtReq) ProtoMessage() {}
func (x *ArenaSetDefFormtReq) ProtoReflect() protoreflect.Message { func (x *ArenaSetDefFormtReq) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[2] mi := &file_arena_arena_msg_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -146,7 +250,7 @@ func (x *ArenaSetDefFormtReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaSetDefFormtReq.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaSetDefFormtReq.ProtoReflect.Descriptor instead.
func (*ArenaSetDefFormtReq) Descriptor() ([]byte, []int) { func (*ArenaSetDefFormtReq) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{2} return file_arena_arena_msg_proto_rawDescGZIP(), []int{4}
} }
func (x *ArenaSetDefFormtReq) GetLeadpos() int32 { func (x *ArenaSetDefFormtReq) GetLeadpos() int32 {
@ -175,7 +279,7 @@ type ArenaSetDefFormtResp struct {
func (x *ArenaSetDefFormtResp) Reset() { func (x *ArenaSetDefFormtResp) Reset() {
*x = ArenaSetDefFormtResp{} *x = ArenaSetDefFormtResp{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[3] mi := &file_arena_arena_msg_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -188,7 +292,7 @@ func (x *ArenaSetDefFormtResp) String() string {
func (*ArenaSetDefFormtResp) ProtoMessage() {} func (*ArenaSetDefFormtResp) ProtoMessage() {}
func (x *ArenaSetDefFormtResp) ProtoReflect() protoreflect.Message { func (x *ArenaSetDefFormtResp) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[3] mi := &file_arena_arena_msg_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -201,7 +305,7 @@ func (x *ArenaSetDefFormtResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaSetDefFormtResp.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaSetDefFormtResp.ProtoReflect.Descriptor instead.
func (*ArenaSetDefFormtResp) Descriptor() ([]byte, []int) { func (*ArenaSetDefFormtResp) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{3} return file_arena_arena_msg_proto_rawDescGZIP(), []int{5}
} }
func (x *ArenaSetDefFormtResp) GetIssucc() bool { func (x *ArenaSetDefFormtResp) GetIssucc() bool {
@ -216,12 +320,15 @@ type ArenaMatcheReq struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Minintegral int32 `protobuf:"varint,1,opt,name=minintegral,proto3" json:"minintegral"` //匹配最小分数段
Maxintegral int32 `protobuf:"varint,2,opt,name=maxintegral,proto3" json:"maxintegral"` //匹配最大分数段
} }
func (x *ArenaMatcheReq) Reset() { func (x *ArenaMatcheReq) Reset() {
*x = ArenaMatcheReq{} *x = ArenaMatcheReq{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[4] mi := &file_arena_arena_msg_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -234,7 +341,7 @@ func (x *ArenaMatcheReq) String() string {
func (*ArenaMatcheReq) ProtoMessage() {} func (*ArenaMatcheReq) ProtoMessage() {}
func (x *ArenaMatcheReq) ProtoReflect() protoreflect.Message { func (x *ArenaMatcheReq) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[4] mi := &file_arena_arena_msg_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -247,7 +354,21 @@ func (x *ArenaMatcheReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaMatcheReq.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaMatcheReq.ProtoReflect.Descriptor instead.
func (*ArenaMatcheReq) Descriptor() ([]byte, []int) { func (*ArenaMatcheReq) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{4} return file_arena_arena_msg_proto_rawDescGZIP(), []int{6}
}
func (x *ArenaMatcheReq) GetMinintegral() int32 {
if x != nil {
return x.Minintegral
}
return 0
}
func (x *ArenaMatcheReq) GetMaxintegral() int32 {
if x != nil {
return x.Maxintegral
}
return 0
} }
//竞技场匹配 回应 //竞技场匹配 回应
@ -262,7 +383,7 @@ type ArenaMatcheResp struct {
func (x *ArenaMatcheResp) Reset() { func (x *ArenaMatcheResp) Reset() {
*x = ArenaMatcheResp{} *x = ArenaMatcheResp{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[5] mi := &file_arena_arena_msg_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -275,7 +396,7 @@ func (x *ArenaMatcheResp) String() string {
func (*ArenaMatcheResp) ProtoMessage() {} func (*ArenaMatcheResp) ProtoMessage() {}
func (x *ArenaMatcheResp) ProtoReflect() protoreflect.Message { func (x *ArenaMatcheResp) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[5] mi := &file_arena_arena_msg_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -288,7 +409,7 @@ func (x *ArenaMatcheResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaMatcheResp.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaMatcheResp.ProtoReflect.Descriptor instead.
func (*ArenaMatcheResp) Descriptor() ([]byte, []int) { func (*ArenaMatcheResp) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{5} return file_arena_arena_msg_proto_rawDescGZIP(), []int{7}
} }
func (x *ArenaMatcheResp) GetPlayers() []*ArenaPlayer { func (x *ArenaMatcheResp) GetPlayers() []*ArenaPlayer {
@ -311,7 +432,7 @@ type ArenaChallengeReq struct {
func (x *ArenaChallengeReq) Reset() { func (x *ArenaChallengeReq) Reset() {
*x = ArenaChallengeReq{} *x = ArenaChallengeReq{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[6] mi := &file_arena_arena_msg_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -324,7 +445,7 @@ func (x *ArenaChallengeReq) String() string {
func (*ArenaChallengeReq) ProtoMessage() {} func (*ArenaChallengeReq) ProtoMessage() {}
func (x *ArenaChallengeReq) ProtoReflect() protoreflect.Message { func (x *ArenaChallengeReq) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[6] mi := &file_arena_arena_msg_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -337,7 +458,7 @@ func (x *ArenaChallengeReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaChallengeReq.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaChallengeReq.ProtoReflect.Descriptor instead.
func (*ArenaChallengeReq) Descriptor() ([]byte, []int) { func (*ArenaChallengeReq) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{6} return file_arena_arena_msg_proto_rawDescGZIP(), []int{8}
} }
func (x *ArenaChallengeReq) GetPlayerid() string { func (x *ArenaChallengeReq) GetPlayerid() string {
@ -367,7 +488,7 @@ type ArenaChallengeResp struct {
func (x *ArenaChallengeResp) Reset() { func (x *ArenaChallengeResp) Reset() {
*x = ArenaChallengeResp{} *x = ArenaChallengeResp{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[7] mi := &file_arena_arena_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -380,7 +501,7 @@ func (x *ArenaChallengeResp) String() string {
func (*ArenaChallengeResp) ProtoMessage() {} func (*ArenaChallengeResp) ProtoMessage() {}
func (x *ArenaChallengeResp) ProtoReflect() protoreflect.Message { func (x *ArenaChallengeResp) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[7] mi := &file_arena_arena_msg_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -393,7 +514,7 @@ func (x *ArenaChallengeResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaChallengeResp.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaChallengeResp.ProtoReflect.Descriptor instead.
func (*ArenaChallengeResp) Descriptor() ([]byte, []int) { func (*ArenaChallengeResp) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{7} return file_arena_arena_msg_proto_rawDescGZIP(), []int{9}
} }
func (x *ArenaChallengeResp) GetCode() ErrorCode { func (x *ArenaChallengeResp) GetCode() ErrorCode {
@ -422,7 +543,7 @@ type ArenaChallengeRewardReq struct {
func (x *ArenaChallengeRewardReq) Reset() { func (x *ArenaChallengeRewardReq) Reset() {
*x = ArenaChallengeRewardReq{} *x = ArenaChallengeRewardReq{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[8] mi := &file_arena_arena_msg_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -435,7 +556,7 @@ func (x *ArenaChallengeRewardReq) String() string {
func (*ArenaChallengeRewardReq) ProtoMessage() {} func (*ArenaChallengeRewardReq) ProtoMessage() {}
func (x *ArenaChallengeRewardReq) ProtoReflect() protoreflect.Message { func (x *ArenaChallengeRewardReq) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[8] mi := &file_arena_arena_msg_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -448,7 +569,7 @@ func (x *ArenaChallengeRewardReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaChallengeRewardReq.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaChallengeRewardReq.ProtoReflect.Descriptor instead.
func (*ArenaChallengeRewardReq) Descriptor() ([]byte, []int) { func (*ArenaChallengeRewardReq) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{8} return file_arena_arena_msg_proto_rawDescGZIP(), []int{10}
} }
func (x *ArenaChallengeRewardReq) GetReport() *BattleReport { func (x *ArenaChallengeRewardReq) GetReport() *BattleReport {
@ -469,7 +590,7 @@ type ArenaChallengeRewardResp struct {
func (x *ArenaChallengeRewardResp) Reset() { func (x *ArenaChallengeRewardResp) Reset() {
*x = ArenaChallengeRewardResp{} *x = ArenaChallengeRewardResp{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[9] mi := &file_arena_arena_msg_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -482,7 +603,7 @@ func (x *ArenaChallengeRewardResp) String() string {
func (*ArenaChallengeRewardResp) ProtoMessage() {} func (*ArenaChallengeRewardResp) ProtoMessage() {}
func (x *ArenaChallengeRewardResp) ProtoReflect() protoreflect.Message { func (x *ArenaChallengeRewardResp) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[9] mi := &file_arena_arena_msg_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -495,7 +616,7 @@ func (x *ArenaChallengeRewardResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaChallengeRewardResp.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaChallengeRewardResp.ProtoReflect.Descriptor instead.
func (*ArenaChallengeRewardResp) Descriptor() ([]byte, []int) { func (*ArenaChallengeRewardResp) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{9} return file_arena_arena_msg_proto_rawDescGZIP(), []int{11}
} }
func (x *ArenaChallengeRewardResp) GetIssucc() bool { func (x *ArenaChallengeRewardResp) GetIssucc() bool {
@ -515,7 +636,7 @@ type ArenaRankReq struct {
func (x *ArenaRankReq) Reset() { func (x *ArenaRankReq) Reset() {
*x = ArenaRankReq{} *x = ArenaRankReq{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[10] mi := &file_arena_arena_msg_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -528,7 +649,7 @@ func (x *ArenaRankReq) String() string {
func (*ArenaRankReq) ProtoMessage() {} func (*ArenaRankReq) ProtoMessage() {}
func (x *ArenaRankReq) ProtoReflect() protoreflect.Message { func (x *ArenaRankReq) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[10] mi := &file_arena_arena_msg_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -541,7 +662,7 @@ func (x *ArenaRankReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaRankReq.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaRankReq.ProtoReflect.Descriptor instead.
func (*ArenaRankReq) Descriptor() ([]byte, []int) { func (*ArenaRankReq) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{10} return file_arena_arena_msg_proto_rawDescGZIP(), []int{12}
} }
//竞技场排行榜 回应 //竞技场排行榜 回应
@ -554,7 +675,7 @@ type ArenaRankResp struct {
func (x *ArenaRankResp) Reset() { func (x *ArenaRankResp) Reset() {
*x = ArenaRankResp{} *x = ArenaRankResp{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[11] mi := &file_arena_arena_msg_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -567,7 +688,7 @@ func (x *ArenaRankResp) String() string {
func (*ArenaRankResp) ProtoMessage() {} func (*ArenaRankResp) ProtoMessage() {}
func (x *ArenaRankResp) ProtoReflect() protoreflect.Message { func (x *ArenaRankResp) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[11] mi := &file_arena_arena_msg_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -580,7 +701,7 @@ func (x *ArenaRankResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ArenaRankResp.ProtoReflect.Descriptor instead. // Deprecated: Use ArenaRankResp.ProtoReflect.Descriptor instead.
func (*ArenaRankResp) Descriptor() ([]byte, []int) { func (*ArenaRankResp) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{11} return file_arena_arena_msg_proto_rawDescGZIP(), []int{13}
} }
var File_arena_arena_msg_proto protoreflect.FileDescriptor var File_arena_arena_msg_proto protoreflect.FileDescriptor
@ -596,40 +717,52 @@ var file_arena_arena_msg_proto_rawDesc = []byte{
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x41, 0x72, 0x65, 0x6e, 0x61,
0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x45, 0x0a, 0x13, 0x41, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x45, 0x0a, 0x13, 0x41, 0x72,
0x65, 0x6e, 0x61, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x65, 0x65, 0x6e, 0x61, 0x53, 0x65, 0x74, 0x41, 0x74, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x65,
0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66,
0x6f, 0x72, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x6f, 0x72, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6d,
0x74, 0x22, 0x2e, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x74, 0x22, 0x2e, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x53, 0x65, 0x74, 0x41, 0x74, 0x74,
0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73,
0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63,
0x63, 0x22, 0x10, 0x0a, 0x0e, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x63, 0x22, 0x45, 0x0a, 0x13, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66,
0x52, 0x65, 0x71, 0x22, 0x39, 0x0a, 0x0f, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64,
0x68, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x59, 0x09, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x6d, 0x74, 0x22, 0x2e, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e,
0x0a, 0x11, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x61, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70,
0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x18, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x12, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x54, 0x0a, 0x0e, 0x41, 0x72, 0x65, 0x6e,
0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69,
0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x55, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x0b, 0x6d, 0x69, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b,
0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6d, 0x61, 0x78, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0x39,
0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0f, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73,
0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x12, 0x26, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x22, 0x40, 0x0a, 0x17, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x59, 0x0a, 0x11, 0x41, 0x72, 0x65,
0x67, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a,
0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61,
0x72, 0x74, 0x22, 0x32, 0x0a, 0x18, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74,
0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61,
0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x55, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61,
0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x0e, 0x0a, 0x0c, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x52, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f,
0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x22, 0x0f, 0x0a, 0x0d, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x52, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72,
0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x40, 0x0a, 0x17, 0x41,
0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x77,
0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52,
0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x32, 0x0a,
0x18, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52,
0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73,
0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63,
0x63, 0x22, 0x0e, 0x0a, 0x0c, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65,
0x71, 0x22, 0x0f, 0x0a, 0x0d, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
} }
var ( var (
@ -644,34 +777,36 @@ func file_arena_arena_msg_proto_rawDescGZIP() []byte {
return file_arena_arena_msg_proto_rawDescData return file_arena_arena_msg_proto_rawDescData
} }
var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_arena_arena_msg_proto_goTypes = []interface{}{ var file_arena_arena_msg_proto_goTypes = []interface{}{
(*ArenaInfoReq)(nil), // 0: ArenaInfoReq (*ArenaInfoReq)(nil), // 0: ArenaInfoReq
(*ArenaInfoResp)(nil), // 1: ArenaInfoResp (*ArenaInfoResp)(nil), // 1: ArenaInfoResp
(*ArenaSetDefFormtReq)(nil), // 2: ArenaSetDefFormtReq (*ArenaSetAttFormtReq)(nil), // 2: ArenaSetAttFormtReq
(*ArenaSetDefFormtResp)(nil), // 3: ArenaSetDefFormtResp (*ArenaSetAttFormtResp)(nil), // 3: ArenaSetAttFormtResp
(*ArenaMatcheReq)(nil), // 4: ArenaMatcheReq (*ArenaSetDefFormtReq)(nil), // 4: ArenaSetDefFormtReq
(*ArenaMatcheResp)(nil), // 5: ArenaMatcheResp (*ArenaSetDefFormtResp)(nil), // 5: ArenaSetDefFormtResp
(*ArenaChallengeReq)(nil), // 6: ArenaChallengeReq (*ArenaMatcheReq)(nil), // 6: ArenaMatcheReq
(*ArenaChallengeResp)(nil), // 7: ArenaChallengeResp (*ArenaMatcheResp)(nil), // 7: ArenaMatcheResp
(*ArenaChallengeRewardReq)(nil), // 8: ArenaChallengeRewardReq (*ArenaChallengeReq)(nil), // 8: ArenaChallengeReq
(*ArenaChallengeRewardResp)(nil), // 9: ArenaChallengeRewardResp (*ArenaChallengeResp)(nil), // 9: ArenaChallengeResp
(*ArenaRankReq)(nil), // 10: ArenaRankReq (*ArenaChallengeRewardReq)(nil), // 10: ArenaChallengeRewardReq
(*ArenaRankResp)(nil), // 11: ArenaRankResp (*ArenaChallengeRewardResp)(nil), // 11: ArenaChallengeRewardResp
(*DBArenaUser)(nil), // 12: DBArenaUser (*ArenaRankReq)(nil), // 12: ArenaRankReq
(*ArenaPlayer)(nil), // 13: ArenaPlayer (*ArenaRankResp)(nil), // 13: ArenaRankResp
(*BattleFormation)(nil), // 14: BattleFormation (*DBArenaUser)(nil), // 14: DBArenaUser
(ErrorCode)(0), // 15: ErrorCode (*ArenaPlayer)(nil), // 15: ArenaPlayer
(*BattleInfo)(nil), // 16: BattleInfo (*BattleFormation)(nil), // 16: BattleFormation
(*BattleReport)(nil), // 17: BattleReport (ErrorCode)(0), // 17: ErrorCode
(*BattleInfo)(nil), // 18: BattleInfo
(*BattleReport)(nil), // 19: BattleReport
} }
var file_arena_arena_msg_proto_depIdxs = []int32{ var file_arena_arena_msg_proto_depIdxs = []int32{
12, // 0: ArenaInfoResp.info:type_name -> DBArenaUser 14, // 0: ArenaInfoResp.info:type_name -> DBArenaUser
13, // 1: ArenaMatcheResp.players:type_name -> ArenaPlayer 15, // 1: ArenaMatcheResp.players:type_name -> ArenaPlayer
14, // 2: ArenaChallengeReq.battle:type_name -> BattleFormation 16, // 2: ArenaChallengeReq.battle:type_name -> BattleFormation
15, // 3: ArenaChallengeResp.code:type_name -> ErrorCode 17, // 3: ArenaChallengeResp.code:type_name -> ErrorCode
16, // 4: ArenaChallengeResp.info:type_name -> BattleInfo 18, // 4: ArenaChallengeResp.info:type_name -> BattleInfo
17, // 5: ArenaChallengeRewardReq.report:type_name -> BattleReport 19, // 5: ArenaChallengeRewardReq.report:type_name -> BattleReport
6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension type_name
@ -713,7 +848,7 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaSetDefFormtReq); i { switch v := v.(*ArenaSetAttFormtReq); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -725,7 +860,7 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaSetDefFormtResp); i { switch v := v.(*ArenaSetAttFormtResp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -737,7 +872,7 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaMatcheReq); i { switch v := v.(*ArenaSetDefFormtReq); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -749,7 +884,7 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaMatcheResp); i { switch v := v.(*ArenaSetDefFormtResp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -761,7 +896,7 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaChallengeReq); i { switch v := v.(*ArenaMatcheReq); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -773,7 +908,7 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaChallengeResp); i { switch v := v.(*ArenaMatcheResp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -785,7 +920,7 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaChallengeRewardReq); i { switch v := v.(*ArenaChallengeReq); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -797,7 +932,7 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaChallengeRewardResp); i { switch v := v.(*ArenaChallengeResp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -809,7 +944,7 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaRankReq); i { switch v := v.(*ArenaChallengeRewardReq); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -821,6 +956,30 @@ func file_arena_arena_msg_proto_init() {
} }
} }
file_arena_arena_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { file_arena_arena_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaChallengeRewardResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_arena_arena_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaRankReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_arena_arena_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaRankResp); i { switch v := v.(*ArenaRankResp); i {
case 0: case 0:
return &v.state return &v.state
@ -839,7 +998,7 @@ func file_arena_arena_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_arena_arena_msg_proto_rawDesc, RawDescriptor: file_arena_arena_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 12, NumMessages: 14,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },