From 78b10966532bdd5966641bfc3b1613d81e47c241 Mon Sep 17 00:00:00 2001 From: NorthLan <6995syu@163.com> Date: Wed, 18 May 2022 15:37:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=88=98=E6=8A=A5=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=EF=BC=8C=E5=90=8D=E5=B0=86=E9=A2=9D?= =?UTF-8?q?=E5=A4=96=E5=8A=A0=E7=A7=AF=E5=88=86=EF=BC=8C=E9=99=8D=E4=BD=8E?= =?UTF-8?q?=E5=87=BA=E5=85=B5=E7=A7=AF=E5=88=86=E6=B6=88=E8=80=97=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/user_center/pb/user_center.pb.go | 431 +++++++++------- app/user_center/pb/user_center.proto | 27 +- app/user_center/usercenter/user_center.go | 47 +- config-dev.yml | 10 +- game/logic/zhg/statistics/stat_pvp.go | 24 +- game/pb/game/zhg/Stat.cs | 568 ++++++++++++++++++---- game/pb/game/zhg/stat.pb.go | 300 ++++++++---- game/pb/game/zhg/stat.proto | 29 +- 8 files changed, 1023 insertions(+), 413 deletions(-) diff --git a/app/user_center/pb/user_center.pb.go b/app/user_center/pb/user_center.pb.go index ec1bce8..623210e 100644 --- a/app/user_center/pb/user_center.pb.go +++ b/app/user_center/pb/user_center.pb.go @@ -1080,10 +1080,10 @@ type StatPvPReportReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WinCamp int32 `protobuf:"varint,1,opt,name=winCamp,proto3" json:"winCamp,omitempty"` // 获胜阵营 1-蓝 2-红 - GeneralUid int64 `protobuf:"varint,2,opt,name=generalUid,proto3" json:"generalUid,omitempty"` // 名将UID - WinItems []*StatPvPReportReq_Item `protobuf:"bytes,3,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 - LostItems []*StatPvPReportReq_Item `protobuf:"bytes,4,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 + WinCamp int32 `protobuf:"varint,1,opt,name=winCamp,proto3" json:"winCamp,omitempty"` // 获胜阵营 1-蓝 2-红 + General *StatPvPReportReq_General `protobuf:"bytes,2,opt,name=general,proto3" json:"general,omitempty"` + WinItems []*StatPvPReportReq_Item `protobuf:"bytes,10,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 + LostItems []*StatPvPReportReq_Item `protobuf:"bytes,11,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 } func (x *StatPvPReportReq) Reset() { @@ -1125,11 +1125,11 @@ func (x *StatPvPReportReq) GetWinCamp() int32 { return 0 } -func (x *StatPvPReportReq) GetGeneralUid() int64 { +func (x *StatPvPReportReq) GetGeneral() *StatPvPReportReq_General { if x != nil { - return x.GeneralUid + return x.General } - return 0 + return nil } func (x *StatPvPReportReq) GetWinItems() []*StatPvPReportReq_Item { @@ -1152,8 +1152,9 @@ type StatPvPReportResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WinItems []*StatPvPReportResp_Item `protobuf:"bytes,3,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 - LostItems []*StatPvPReportResp_Item `protobuf:"bytes,4,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 + General *StatPvPReportResp_Item `protobuf:"bytes,1,opt,name=general,proto3" json:"general,omitempty"` // 名将 + WinItems []*StatPvPReportResp_Item `protobuf:"bytes,10,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 + LostItems []*StatPvPReportResp_Item `protobuf:"bytes,11,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 } func (x *StatPvPReportResp) Reset() { @@ -1188,6 +1189,13 @@ func (*StatPvPReportResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{17} } +func (x *StatPvPReportResp) GetGeneral() *StatPvPReportResp_Item { + if x != nil { + return x.General + } + return nil +} + func (x *StatPvPReportResp) GetWinItems() []*StatPvPReportResp_Item { if x != nil { return x.WinItems @@ -1318,11 +1326,12 @@ type StatPvPReportReq_Item struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID - Damage int64 `protobuf:"varint,2,opt,name=damage,proto3" json:"damage,omitempty"` // 伤害量 - DeDamage int64 `protobuf:"varint,3,opt,name=deDamage,proto3" json:"deDamage,omitempty"` // 承受伤害 - KillUnit int64 `protobuf:"varint,4,opt,name=killUnit,proto3" json:"killUnit,omitempty"` // 击杀单位数量 - DeKillUnit int64 `protobuf:"varint,5,opt,name=deKillUnit,proto3" json:"deKillUnit,omitempty"` // 被杀单位数量 + Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID + Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` // 用户名 + Damage int64 `protobuf:"varint,3,opt,name=damage,proto3" json:"damage,omitempty"` // 伤害量 + DeDamage int64 `protobuf:"varint,4,opt,name=deDamage,proto3" json:"deDamage,omitempty"` // 承受伤害 + KillUnit int64 `protobuf:"varint,5,opt,name=killUnit,proto3" json:"killUnit,omitempty"` // 击杀单位数量 + DeKillUnit int64 `protobuf:"varint,6,opt,name=deKillUnit,proto3" json:"deKillUnit,omitempty"` // 被杀单位数量 } func (x *StatPvPReportReq_Item) Reset() { @@ -1364,6 +1373,13 @@ func (x *StatPvPReportReq_Item) GetUid() int64 { return 0 } +func (x *StatPvPReportReq_Item) GetUname() string { + if x != nil { + return x.Uname + } + return "" +} + func (x *StatPvPReportReq_Item) GetDamage() int64 { if x != nil { return x.Damage @@ -1392,19 +1408,75 @@ func (x *StatPvPReportReq_Item) GetDeKillUnit() int64 { return 0 } +type StatPvPReportReq_General struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 名将UID + Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` // 名将用户名 +} + +func (x *StatPvPReportReq_General) Reset() { + *x = StatPvPReportReq_General{} + if protoimpl.UnsafeEnabled { + mi := &file_user_center_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatPvPReportReq_General) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatPvPReportReq_General) ProtoMessage() {} + +func (x *StatPvPReportReq_General) ProtoReflect() protoreflect.Message { + mi := &file_user_center_proto_msgTypes[21] + 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 StatPvPReportReq_General.ProtoReflect.Descriptor instead. +func (*StatPvPReportReq_General) Descriptor() ([]byte, []int) { + return file_user_center_proto_rawDescGZIP(), []int{16, 1} +} + +func (x *StatPvPReportReq_General) GetUid() int64 { + if x != nil { + return x.Uid + } + return 0 +} + +func (x *StatPvPReportReq_General) GetUname() string { + if x != nil { + return x.Uname + } + return "" +} + type StatPvPReportResp_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID - AddonIntegral int64 `protobuf:"varint,2,opt,name=addonIntegral,proto3" json:"addonIntegral,omitempty"` // 本次获取的积分 + Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID + Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` // 用户名 + AddonIntegral int64 `protobuf:"varint,3,opt,name=addonIntegral,proto3" json:"addonIntegral,omitempty"` // 本次获取的积分 } func (x *StatPvPReportResp_Item) Reset() { *x = StatPvPReportResp_Item{} if protoimpl.UnsafeEnabled { - mi := &file_user_center_proto_msgTypes[21] + mi := &file_user_center_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1417,7 +1489,7 @@ func (x *StatPvPReportResp_Item) String() string { func (*StatPvPReportResp_Item) ProtoMessage() {} func (x *StatPvPReportResp_Item) ProtoReflect() protoreflect.Message { - mi := &file_user_center_proto_msgTypes[21] + mi := &file_user_center_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1440,6 +1512,13 @@ func (x *StatPvPReportResp_Item) GetUid() int64 { return 0 } +func (x *StatPvPReportResp_Item) GetUname() string { + if x != nil { + return x.Uname + } + return "" +} + func (x *StatPvPReportResp_Item) GetAddonIntegral() int64 { if x != nil { return x.AddonIntegral @@ -1461,7 +1540,7 @@ type RankPvpResp_Item struct { func (x *RankPvpResp_Item) Reset() { *x = RankPvpResp_Item{} if protoimpl.UnsafeEnabled { - mi := &file_user_center_proto_msgTypes[22] + mi := &file_user_center_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1474,7 +1553,7 @@ func (x *RankPvpResp_Item) String() string { func (*RankPvpResp_Item) ProtoMessage() {} func (x *RankPvpResp_Item) ProtoReflect() protoreflect.Message { - mi := &file_user_center_proto_msgTypes[22] + mi := &file_user_center_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1625,96 +1704,107 @@ var file_user_center_proto_rawDesc = []byte{ 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc7, 0x02, 0x0a, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa8, 0x03, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x55, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x77, - 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, + 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x07, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, + 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x07, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x6c, 0x12, 0x35, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x88, 0x01, 0x0a, 0x04, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x64, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x69, - 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6b, 0x69, - 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, - 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x4b, 0x69, - 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x22, 0xc5, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x50, - 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x08, - 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x3e, - 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x6f, - 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0x34, - 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x70, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x74, 0x6f, 0x70, 0x4e, 0x22, 0xab, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, - 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x5c, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, + 0x52, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x6f, + 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x1a, 0x9e, 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, - 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, - 0x61, 0x72, 0x32, 0x84, 0x05, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x43, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x12, 0x41, 0x0a, 0x14, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x14, - 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x42, 0x79, 0x50, 0x55, 0x69, 0x64, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0e, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x15, - 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, - 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, - 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, - 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x49, 0x6e, 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, - 0x53, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, - 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, 0x4e, 0x6f, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x17, - 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x50, - 0x76, 0x70, 0x4b, 0x69, 0x6c, 0x6c, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x50, 0x76, 0x50, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x74, 0x50, 0x76, 0x70, - 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, - 0x64, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, - 0x3c, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x50, 0x76, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, - 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x12, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, - 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, - 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x64, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x69, 0x6c, 0x6c, + 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6b, 0x69, 0x6c, 0x6c, + 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, + 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, + 0x55, 0x6e, 0x69, 0x74, 0x1a, 0x31, 0x0a, 0x07, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, + 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, + 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, + 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x6c, + 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x54, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x64, + 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0x34, 0x0a, 0x0a, 0x52, + 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x6f, 0x70, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x6f, 0x70, + 0x4e, 0x22, 0xab, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x1a, 0x5c, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x32, + 0x84, 0x05, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x41, + 0x0a, 0x14, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x70, 0x62, + 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x36, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x79, + 0x50, 0x55, 0x69, 0x64, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0e, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x15, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, + 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x0d, 0x2e, + 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x70, + 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, + 0x6e, 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, + 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, + 0x64, 0x47, 0x69, 0x66, 0x74, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, + 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x42, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, + 0x4e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x62, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x50, 0x76, 0x70, 0x4b, + 0x69, 0x6c, 0x6c, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, + 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x38, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x74, 0x50, 0x76, 0x70, 0x46, 0x69, 0x72, + 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x50, 0x76, 0x50, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x52, 0x65, + 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0d, + 0x73, 0x74, 0x61, 0x74, 0x50, 0x76, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x2e, + 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x61, + 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x12, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, + 0x76, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, + 0x76, 0x70, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1729,69 +1819,72 @@ func file_user_center_proto_rawDescGZIP() []byte { return file_user_center_proto_rawDescData } -var file_user_center_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_user_center_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_user_center_proto_goTypes = []interface{}{ - (*User)(nil), // 0: pb.User - (*Empty)(nil), // 1: pb.Empty - (*PlatformUserReq)(nil), // 2: pb.PlatformUserReq - (*PlatformUserResp)(nil), // 3: pb.PlatformUserResp - (*UserIdReq)(nil), // 4: pb.UserIdReq - (*UserIdResp)(nil), // 5: pb.UserIdResp - (*ChangeIntegralReq)(nil), // 6: pb.ChangeIntegralReq - (*ChangeIntegralResp)(nil), // 7: pb.ChangeIntegralResp - (*UserIntegralResp)(nil), // 8: pb.UserIntegralResp - (*UserCheckInResp)(nil), // 9: pb.UserCheckInResp - (*UserSendGiftReq)(nil), // 10: pb.UserSendGiftReq - (*UserSendGiftResp)(nil), // 11: pb.UserSendGiftResp - (*UserBuyNobilityReq)(nil), // 12: pb.UserBuyNobilityReq - (*UserBuyNobilityResp)(nil), // 13: pb.UserBuyNobilityResp - (*StatPvPKillReq)(nil), // 14: pb.StatPvPKillReq - (*StatPvPFirstBloodReq)(nil), // 15: pb.StatPvPFirstBloodReq - (*StatPvPReportReq)(nil), // 16: pb.StatPvPReportReq - (*StatPvPReportResp)(nil), // 17: pb.StatPvPReportResp - (*RankPvpReq)(nil), // 18: pb.RankPvpReq - (*RankPvpResp)(nil), // 19: pb.RankPvpResp - (*StatPvPReportReq_Item)(nil), // 20: pb.StatPvPReportReq.Item - (*StatPvPReportResp_Item)(nil), // 21: pb.StatPvPReportResp.Item - (*RankPvpResp_Item)(nil), // 22: pb.RankPvpResp.Item + (*User)(nil), // 0: pb.User + (*Empty)(nil), // 1: pb.Empty + (*PlatformUserReq)(nil), // 2: pb.PlatformUserReq + (*PlatformUserResp)(nil), // 3: pb.PlatformUserResp + (*UserIdReq)(nil), // 4: pb.UserIdReq + (*UserIdResp)(nil), // 5: pb.UserIdResp + (*ChangeIntegralReq)(nil), // 6: pb.ChangeIntegralReq + (*ChangeIntegralResp)(nil), // 7: pb.ChangeIntegralResp + (*UserIntegralResp)(nil), // 8: pb.UserIntegralResp + (*UserCheckInResp)(nil), // 9: pb.UserCheckInResp + (*UserSendGiftReq)(nil), // 10: pb.UserSendGiftReq + (*UserSendGiftResp)(nil), // 11: pb.UserSendGiftResp + (*UserBuyNobilityReq)(nil), // 12: pb.UserBuyNobilityReq + (*UserBuyNobilityResp)(nil), // 13: pb.UserBuyNobilityResp + (*StatPvPKillReq)(nil), // 14: pb.StatPvPKillReq + (*StatPvPFirstBloodReq)(nil), // 15: pb.StatPvPFirstBloodReq + (*StatPvPReportReq)(nil), // 16: pb.StatPvPReportReq + (*StatPvPReportResp)(nil), // 17: pb.StatPvPReportResp + (*RankPvpReq)(nil), // 18: pb.RankPvpReq + (*RankPvpResp)(nil), // 19: pb.RankPvpResp + (*StatPvPReportReq_Item)(nil), // 20: pb.StatPvPReportReq.Item + (*StatPvPReportReq_General)(nil), // 21: pb.StatPvPReportReq.General + (*StatPvPReportResp_Item)(nil), // 22: pb.StatPvPReportResp.Item + (*RankPvpResp_Item)(nil), // 23: pb.RankPvpResp.Item } var file_user_center_proto_depIdxs = []int32{ 0, // 0: pb.PlatformUserResp.user:type_name -> pb.User 7, // 1: pb.UserSendGiftResp.integral:type_name -> pb.ChangeIntegralResp 0, // 2: pb.UserBuyNobilityResp.user:type_name -> pb.User 7, // 3: pb.UserBuyNobilityResp.integral:type_name -> pb.ChangeIntegralResp - 20, // 4: pb.StatPvPReportReq.winItems:type_name -> pb.StatPvPReportReq.Item - 20, // 5: pb.StatPvPReportReq.lostItems:type_name -> pb.StatPvPReportReq.Item - 21, // 6: pb.StatPvPReportResp.winItems:type_name -> pb.StatPvPReportResp.Item - 21, // 7: pb.StatPvPReportResp.lostItems:type_name -> pb.StatPvPReportResp.Item - 22, // 8: pb.RankPvpResp.items:type_name -> pb.RankPvpResp.Item - 2, // 9: pb.userCenter.retrievePlatformUser:input_type -> pb.PlatformUserReq - 2, // 10: pb.userCenter.getUserIdByPUid:input_type -> pb.PlatformUserReq - 6, // 11: pb.userCenter.ChangeIntegral:input_type -> pb.ChangeIntegralReq - 4, // 12: pb.userCenter.GetUserIntegral:input_type -> pb.UserIdReq - 4, // 13: pb.userCenter.UserCheckIn:input_type -> pb.UserIdReq - 10, // 14: pb.userCenter.userSendGift:input_type -> pb.UserSendGiftReq - 12, // 15: pb.userCenter.userBuyNobility:input_type -> pb.UserBuyNobilityReq - 14, // 16: pb.userCenter.statPvpKill:input_type -> pb.StatPvPKillReq - 15, // 17: pb.userCenter.statPvpFirstBlood:input_type -> pb.StatPvPFirstBloodReq - 16, // 18: pb.userCenter.statPvpReport:input_type -> pb.StatPvPReportReq - 18, // 19: pb.userCenter.rankPvp:input_type -> pb.RankPvpReq - 3, // 20: pb.userCenter.retrievePlatformUser:output_type -> pb.PlatformUserResp - 5, // 21: pb.userCenter.getUserIdByPUid:output_type -> pb.UserIdResp - 7, // 22: pb.userCenter.ChangeIntegral:output_type -> pb.ChangeIntegralResp - 8, // 23: pb.userCenter.GetUserIntegral:output_type -> pb.UserIntegralResp - 9, // 24: pb.userCenter.UserCheckIn:output_type -> pb.UserCheckInResp - 11, // 25: pb.userCenter.userSendGift:output_type -> pb.UserSendGiftResp - 13, // 26: pb.userCenter.userBuyNobility:output_type -> pb.UserBuyNobilityResp - 1, // 27: pb.userCenter.statPvpKill:output_type -> pb.Empty - 1, // 28: pb.userCenter.statPvpFirstBlood:output_type -> pb.Empty - 17, // 29: pb.userCenter.statPvpReport:output_type -> pb.StatPvPReportResp - 19, // 30: pb.userCenter.rankPvp:output_type -> pb.RankPvpResp - 20, // [20:31] is the sub-list for method output_type - 9, // [9:20] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 21, // 4: pb.StatPvPReportReq.general:type_name -> pb.StatPvPReportReq.General + 20, // 5: pb.StatPvPReportReq.winItems:type_name -> pb.StatPvPReportReq.Item + 20, // 6: pb.StatPvPReportReq.lostItems:type_name -> pb.StatPvPReportReq.Item + 22, // 7: pb.StatPvPReportResp.general:type_name -> pb.StatPvPReportResp.Item + 22, // 8: pb.StatPvPReportResp.winItems:type_name -> pb.StatPvPReportResp.Item + 22, // 9: pb.StatPvPReportResp.lostItems:type_name -> pb.StatPvPReportResp.Item + 23, // 10: pb.RankPvpResp.items:type_name -> pb.RankPvpResp.Item + 2, // 11: pb.userCenter.retrievePlatformUser:input_type -> pb.PlatformUserReq + 2, // 12: pb.userCenter.getUserIdByPUid:input_type -> pb.PlatformUserReq + 6, // 13: pb.userCenter.ChangeIntegral:input_type -> pb.ChangeIntegralReq + 4, // 14: pb.userCenter.GetUserIntegral:input_type -> pb.UserIdReq + 4, // 15: pb.userCenter.UserCheckIn:input_type -> pb.UserIdReq + 10, // 16: pb.userCenter.userSendGift:input_type -> pb.UserSendGiftReq + 12, // 17: pb.userCenter.userBuyNobility:input_type -> pb.UserBuyNobilityReq + 14, // 18: pb.userCenter.statPvpKill:input_type -> pb.StatPvPKillReq + 15, // 19: pb.userCenter.statPvpFirstBlood:input_type -> pb.StatPvPFirstBloodReq + 16, // 20: pb.userCenter.statPvpReport:input_type -> pb.StatPvPReportReq + 18, // 21: pb.userCenter.rankPvp:input_type -> pb.RankPvpReq + 3, // 22: pb.userCenter.retrievePlatformUser:output_type -> pb.PlatformUserResp + 5, // 23: pb.userCenter.getUserIdByPUid:output_type -> pb.UserIdResp + 7, // 24: pb.userCenter.ChangeIntegral:output_type -> pb.ChangeIntegralResp + 8, // 25: pb.userCenter.GetUserIntegral:output_type -> pb.UserIntegralResp + 9, // 26: pb.userCenter.UserCheckIn:output_type -> pb.UserCheckInResp + 11, // 27: pb.userCenter.userSendGift:output_type -> pb.UserSendGiftResp + 13, // 28: pb.userCenter.userBuyNobility:output_type -> pb.UserBuyNobilityResp + 1, // 29: pb.userCenter.statPvpKill:output_type -> pb.Empty + 1, // 30: pb.userCenter.statPvpFirstBlood:output_type -> pb.Empty + 17, // 31: pb.userCenter.statPvpReport:output_type -> pb.StatPvPReportResp + 19, // 32: pb.userCenter.rankPvp:output_type -> pb.RankPvpResp + 22, // [22:33] is the sub-list for method output_type + 11, // [11:22] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_user_center_proto_init() } @@ -2053,7 +2146,7 @@ func file_user_center_proto_init() { } } file_user_center_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatPvPReportResp_Item); i { + switch v := v.(*StatPvPReportReq_General); i { case 0: return &v.state case 1: @@ -2065,6 +2158,18 @@ func file_user_center_proto_init() { } } file_user_center_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatPvPReportResp_Item); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_user_center_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankPvpResp_Item); i { case 0: return &v.state @@ -2083,7 +2188,7 @@ func file_user_center_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_user_center_proto_rawDesc, NumEnums: 0, - NumMessages: 23, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, diff --git a/app/user_center/pb/user_center.proto b/app/user_center/pb/user_center.proto index 07827f0..0d4b78f 100644 --- a/app/user_center/pb/user_center.proto +++ b/app/user_center/pb/user_center.proto @@ -122,25 +122,32 @@ message StatPvPFirstBloodReq { message StatPvPReportReq { message Item { int64 uid = 1; // 用户ID - int64 damage = 2; // 伤害量 - int64 deDamage = 3; // 承受伤害 - int64 killUnit = 4; // 击杀单位数量 - int64 deKillUnit = 5; // 被杀单位数量 + string uname = 2; // 用户名 + int64 damage = 3; // 伤害量 + int64 deDamage = 4; // 承受伤害 + int64 killUnit = 5; // 击杀单位数量 + int64 deKillUnit = 6; // 被杀单位数量 + } + message General { + int64 uid = 1; // 名将UID + string uname = 2; // 名将用户名 } int32 winCamp = 1; // 获胜阵营 1-蓝 2-红 - int64 generalUid = 2; // 名将UID - repeated Item winItems = 3; // 获胜方数据 - repeated Item lostItems = 4; // 战败方数据 + General general = 2; + repeated Item winItems = 10; // 获胜方数据 + repeated Item lostItems = 11; // 战败方数据 } // 通知-PvP战报 回复 message StatPvPReportResp { message Item { int64 uid = 1; // 用户ID - int64 addonIntegral = 2; // 本次获取的积分 + string uname = 2; // 用户名 + int64 addonIntegral = 3; // 本次获取的积分 } - repeated Item winItems = 3; // 获胜方数据 - repeated Item lostItems = 4; // 战败方数据 + Item general = 1; // 名将 + repeated Item winItems = 10; // 获胜方数据 + repeated Item lostItems = 11; // 战败方数据 } // rank diff --git a/app/user_center/usercenter/user_center.go b/app/user_center/usercenter/user_center.go index 9b6fe2e..e8e7945 100644 --- a/app/user_center/usercenter/user_center.go +++ b/app/user_center/usercenter/user_center.go @@ -13,29 +13,30 @@ import ( ) type ( - ChangeIntegralReq = pb.ChangeIntegralReq - ChangeIntegralResp = pb.ChangeIntegralResp - Empty = pb.Empty - PlatformUserReq = pb.PlatformUserReq - PlatformUserResp = pb.PlatformUserResp - RankPvpReq = pb.RankPvpReq - RankPvpResp = pb.RankPvpResp - RankPvpResp_Item = pb.RankPvpResp_Item - StatPvPFirstBloodReq = pb.StatPvPFirstBloodReq - StatPvPKillReq = pb.StatPvPKillReq - StatPvPReportReq = pb.StatPvPReportReq - StatPvPReportReq_Item = pb.StatPvPReportReq_Item - StatPvPReportResp = pb.StatPvPReportResp - StatPvPReportResp_Item = pb.StatPvPReportResp_Item - User = pb.User - UserBuyNobilityReq = pb.UserBuyNobilityReq - UserBuyNobilityResp = pb.UserBuyNobilityResp - UserCheckInResp = pb.UserCheckInResp - UserIdReq = pb.UserIdReq - UserIdResp = pb.UserIdResp - UserIntegralResp = pb.UserIntegralResp - UserSendGiftReq = pb.UserSendGiftReq - UserSendGiftResp = pb.UserSendGiftResp + ChangeIntegralReq = pb.ChangeIntegralReq + ChangeIntegralResp = pb.ChangeIntegralResp + Empty = pb.Empty + PlatformUserReq = pb.PlatformUserReq + PlatformUserResp = pb.PlatformUserResp + RankPvpReq = pb.RankPvpReq + RankPvpResp = pb.RankPvpResp + RankPvpResp_Item = pb.RankPvpResp_Item + StatPvPFirstBloodReq = pb.StatPvPFirstBloodReq + StatPvPKillReq = pb.StatPvPKillReq + StatPvPReportReq = pb.StatPvPReportReq + StatPvPReportReq_General = pb.StatPvPReportReq_General + StatPvPReportReq_Item = pb.StatPvPReportReq_Item + StatPvPReportResp = pb.StatPvPReportResp + StatPvPReportResp_Item = pb.StatPvPReportResp_Item + User = pb.User + UserBuyNobilityReq = pb.UserBuyNobilityReq + UserBuyNobilityResp = pb.UserBuyNobilityResp + UserCheckInResp = pb.UserCheckInResp + UserIdReq = pb.UserIdReq + UserIdResp = pb.UserIdResp + UserIntegralResp = pb.UserIntegralResp + UserSendGiftReq = pb.UserSendGiftReq + UserSendGiftResp = pb.UserSendGiftResp UserCenter interface { // retrievePlatformUser 新增或获取用户 diff --git a/config-dev.yml b/config-dev.yml index 0c9074e..88af197 100644 --- a/config-dev.yml +++ b/config-dev.yml @@ -21,12 +21,12 @@ Game: Zhg: Commands: [ "j", "加入", "加入游戏", "s", "w", "我在哪", "s1", "s2", "s3", "s4", "c1", "c2", "c3", "c4", "r1", "r2", "r3", "m1", "m2", "m3" ] OutbreakCount: 5 - OutbreakBaseCost: 300 + OutbreakBaseCost: 200 OutbreakCostDict: - 1: 250 # 步兵 - 2: 300 # 骑兵 - 3: 350 # 弓箭手 - 4: 350 # 法师 + 1: 100 # 步兵 + 2: 120 # 骑兵 + 3: 200 # 弓箭手 + 4: 180 # 法师 Zhghz: Commands: [ "j", "加入", "t1", "t2", "t3", "t4", "t5", "t6", "t7", "t8", "w", "我在哪", "m1", "m2", "m3", "m4", "f", "开炮" ] Zhgfb: diff --git a/game/logic/zhg/statistics/stat_pvp.go b/game/logic/zhg/statistics/stat_pvp.go index b2187b0..ebc092a 100644 --- a/game/logic/zhg/statistics/stat_pvp.go +++ b/game/logic/zhg/statistics/stat_pvp.go @@ -60,13 +60,14 @@ func (p *PvP) First(s *session.Session, msg *pbGameZhg.StatPvPFirstBlood) error } // Report 战报 -func (p *PvP) Report(s *session.Session, msg *pbGameZhg.StatPvPReport) error { +func (p *PvP) Report(s *session.Session, msg *pbGameZhg.StatPvPReportReq) error { winItems := make([]*usercenter.StatPvPReportReq_Item, 0, len(msg.WinItems)) lostItems := make([]*usercenter.StatPvPReportReq_Item, 0, len(msg.LostItems)) for _, item := range msg.WinItems { winItems = append(winItems, &usercenter.StatPvPReportReq_Item{ Uid: item.Uid, + Uname: item.Uname, Damage: item.Damage, DeDamage: item.DeDamage, KillUnit: item.KillUnit, @@ -77,6 +78,7 @@ func (p *PvP) Report(s *session.Session, msg *pbGameZhg.StatPvPReport) error { for _, item := range msg.LostItems { lostItems = append(lostItems, &usercenter.StatPvPReportReq_Item{ Uid: item.Uid, + Uname: item.Uname, Damage: item.Damage, DeDamage: item.DeDamage, KillUnit: item.KillUnit, @@ -85,10 +87,13 @@ func (p *PvP) Report(s *session.Session, msg *pbGameZhg.StatPvPReport) error { } logger.SLog.Info("接收客户端战报", msg) resp, err := p.svcCtx.UserCenterRpc.StatPvpReport(p.svcCtx.Ctx, &usercenter.StatPvPReportReq{ - WinCamp: msg.WinCamp, - GeneralUid: msg.GeneralUid, - WinItems: winItems, - LostItems: lostItems, + WinCamp: msg.WinCamp, + General: &usercenter.StatPvPReportReq_General{ + Uid: msg.General.Uid, + Uname: msg.General.Uname, + }, + WinItems: winItems, + LostItems: lostItems, }) if err != nil { return err @@ -98,17 +103,24 @@ func (p *PvP) Report(s *session.Session, msg *pbGameZhg.StatPvPReport) error { for _, item := range resp.WinItems { winItemsResp = append(winItemsResp, &pbGameZhg.StatPvPReportResp_Item{ Uid: item.Uid, + Uname: item.Uname, AddonIntegral: item.AddonIntegral, }) } for _, item := range resp.LostItems { lostItemsResp = append(lostItemsResp, &pbGameZhg.StatPvPReportResp_Item{ Uid: item.Uid, + Uname: item.Uname, AddonIntegral: item.AddonIntegral, }) } - + return s.Response(&pbGameZhg.StatPvPReportResp{ + General: &pbGameZhg.StatPvPReportResp_Item{ + Uid: resp.General.Uid, + Uname: resp.General.Uname, + AddonIntegral: resp.General.AddonIntegral, + }, WinItems: winItemsResp, LostItems: lostItemsResp, }) diff --git a/game/pb/game/zhg/Stat.cs b/game/pb/game/zhg/Stat.cs index 298a794..77b4470 100644 --- a/game/pb/game/zhg/Stat.cs +++ b/game/pb/game/zhg/Stat.cs @@ -27,24 +27,29 @@ namespace Pb.Game.Zhg { "CgpzdGF0LnByb3RvEgtwYi5nYW1lLnpoZyJACgtTdGF0UHZQS2lsbBILCgN1", "aWQYASABKAMSEQoJdGFyZ2V0VWlkGAIgASgDEhEKCWlzR2VuZXJhbBgDIAEo", "CCIuChFTdGF0UHZQRmlyc3RCbG9vZBILCgN1aWQYASABKAMSDAoEdHlwZRgC", - "IAEoBSL4AQoNU3RhdFB2UFJlcG9ydBIPCgd3aW5DYW1wGAEgASgFEhIKCmdl", - "bmVyYWxVaWQYAiABKAMSMQoId2luSXRlbXMYAyADKAsyHy5wYi5nYW1lLnpo", - "Zy5TdGF0UHZQUmVwb3J0Lkl0ZW0SMgoJbG9zdEl0ZW1zGAQgAygLMh8ucGIu", - "Z2FtZS56aGcuU3RhdFB2UFJlcG9ydC5JdGVtGlsKBEl0ZW0SCwoDdWlkGAEg", - "ASgDEg4KBmRhbWFnZRgCIAEoAxIQCghkZURhbWFnZRgDIAEoAxIQCghraWxs", - "VW5pdBgEIAEoAxISCgpkZUtpbGxVbml0GAUgASgDIq4BChFTdGF0UHZQUmVw", - "b3J0UmVzcBI1Cgh3aW5JdGVtcxgDIAMoCzIjLnBiLmdhbWUuemhnLlN0YXRQ", - "dlBSZXBvcnRSZXNwLkl0ZW0SNgoJbG9zdEl0ZW1zGAQgAygLMiMucGIuZ2Ft", - "ZS56aGcuU3RhdFB2UFJlcG9ydFJlc3AuSXRlbRoqCgRJdGVtEgsKA3VpZBgB", - "IAEoAxIVCg1hZGRvbkludGVncmFsGAIgASgDQiBaHmRjZy9nYW1lL3BiL2dh", - "bWUvemhnO3BiR2FtZVpoZ2IGcHJvdG8z")); + "IAEoBSLbAgoQU3RhdFB2UFJlcG9ydFJlcRIPCgd3aW5DYW1wGAEgASgFEjYK", + "B2dlbmVyYWwYAiABKAsyJS5wYi5nYW1lLnpoZy5TdGF0UHZQUmVwb3J0UmVx", + "LkdlbmVyYWwSNAoId2luSXRlbXMYCiADKAsyIi5wYi5nYW1lLnpoZy5TdGF0", + "UHZQUmVwb3J0UmVxLkl0ZW0SNQoJbG9zdEl0ZW1zGAsgAygLMiIucGIuZ2Ft", + "ZS56aGcuU3RhdFB2UFJlcG9ydFJlcS5JdGVtGmoKBEl0ZW0SCwoDdWlkGAEg", + "ASgDEg0KBXVuYW1lGAIgASgJEg4KBmRhbWFnZRgDIAEoAxIQCghkZURhbWFn", + "ZRgEIAEoAxIQCghraWxsVW5pdBgFIAEoAxISCgpkZUtpbGxVbml0GAYgASgD", + "GiUKB0dlbmVyYWwSCwoDdWlkGAEgASgDEg0KBXVuYW1lGAIgASgJIvMBChFT", + "dGF0UHZQUmVwb3J0UmVzcBI0CgdnZW5lcmFsGAEgASgLMiMucGIuZ2FtZS56", + "aGcuU3RhdFB2UFJlcG9ydFJlc3AuSXRlbRI1Cgh3aW5JdGVtcxgKIAMoCzIj", + "LnBiLmdhbWUuemhnLlN0YXRQdlBSZXBvcnRSZXNwLkl0ZW0SNgoJbG9zdEl0", + "ZW1zGAsgAygLMiMucGIuZ2FtZS56aGcuU3RhdFB2UFJlcG9ydFJlc3AuSXRl", + "bRo5CgRJdGVtEgsKA3VpZBgBIAEoAxINCgV1bmFtZRgCIAEoCRIVCg1hZGRv", + "bkludGVncmFsGAMgASgDQiBaHmRjZy9nYW1lL3BiL2dhbWUvemhnO3BiR2Ft", + "ZVpoZ2IGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPKill), global::Pb.Game.Zhg.StatPvPKill.Parser, new[]{ "Uid", "TargetUid", "IsGeneral" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPFirstBlood), global::Pb.Game.Zhg.StatPvPFirstBlood.Parser, new[]{ "Uid", "Type" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPReport), global::Pb.Game.Zhg.StatPvPReport.Parser, new[]{ "WinCamp", "GeneralUid", "WinItems", "LostItems" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPReport.Types.Item), global::Pb.Game.Zhg.StatPvPReport.Types.Item.Parser, new[]{ "Uid", "Damage", "DeDamage", "KillUnit", "DeKillUnit" }, null, null, null, null)}), - new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPReportResp), global::Pb.Game.Zhg.StatPvPReportResp.Parser, new[]{ "WinItems", "LostItems" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPReportResp.Types.Item), global::Pb.Game.Zhg.StatPvPReportResp.Types.Item.Parser, new[]{ "Uid", "AddonIntegral" }, null, null, null, null)}) + new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPReportReq), global::Pb.Game.Zhg.StatPvPReportReq.Parser, new[]{ "WinCamp", "General", "WinItems", "LostItems" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPReportReq.Types.Item), global::Pb.Game.Zhg.StatPvPReportReq.Types.Item.Parser, new[]{ "Uid", "Uname", "Damage", "DeDamage", "KillUnit", "DeKillUnit" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPReportReq.Types.General), global::Pb.Game.Zhg.StatPvPReportReq.Types.General.Parser, new[]{ "Uid", "Uname" }, null, null, null, null)}), + new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPReportResp), global::Pb.Game.Zhg.StatPvPReportResp.Parser, new[]{ "General", "WinItems", "LostItems" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Pb.Game.Zhg.StatPvPReportResp.Types.Item), global::Pb.Game.Zhg.StatPvPReportResp.Types.Item.Parser, new[]{ "Uid", "Uname", "AddonIntegral" }, null, null, null, null)}) })); } #endregion @@ -564,16 +569,16 @@ namespace Pb.Game.Zhg { /// /// 通知-PvP战报 statistics.pvp.report /// - public sealed partial class StatPvPReport : pb::IMessage + public sealed partial class StatPvPReportReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StatPvPReport()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StatPvPReportReq()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -589,7 +594,7 @@ namespace Pb.Game.Zhg { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StatPvPReport() { + public StatPvPReportReq() { OnConstruction(); } @@ -597,9 +602,9 @@ namespace Pb.Game.Zhg { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StatPvPReport(StatPvPReport other) : this() { + public StatPvPReportReq(StatPvPReportReq other) : this() { winCamp_ = other.winCamp_; - generalUid_ = other.generalUid_; + general_ = other.general_ != null ? other.general_.Clone() : null; winItems_ = other.winItems_.Clone(); lostItems_ = other.lostItems_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); @@ -607,8 +612,8 @@ namespace Pb.Game.Zhg { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StatPvPReport Clone() { - return new StatPvPReport(this); + public StatPvPReportReq Clone() { + return new StatPvPReportReq(this); } /// Field number for the "winCamp" field. @@ -626,58 +631,55 @@ namespace Pb.Game.Zhg { } } - /// Field number for the "generalUid" field. - public const int GeneralUidFieldNumber = 2; - private long generalUid_; - /// - /// 名将UID - /// + /// Field number for the "general" field. + public const int GeneralFieldNumber = 2; + private global::Pb.Game.Zhg.StatPvPReportReq.Types.General general_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long GeneralUid { - get { return generalUid_; } + public global::Pb.Game.Zhg.StatPvPReportReq.Types.General General { + get { return general_; } set { - generalUid_ = value; + general_ = value; } } /// Field number for the "winItems" field. - public const int WinItemsFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_winItems_codec - = pb::FieldCodec.ForMessage(26, global::Pb.Game.Zhg.StatPvPReport.Types.Item.Parser); - private readonly pbc::RepeatedField winItems_ = new pbc::RepeatedField(); + public const int WinItemsFieldNumber = 10; + private static readonly pb::FieldCodec _repeated_winItems_codec + = pb::FieldCodec.ForMessage(82, global::Pb.Game.Zhg.StatPvPReportReq.Types.Item.Parser); + private readonly pbc::RepeatedField winItems_ = new pbc::RepeatedField(); /// /// 获胜方数据 /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField WinItems { + public pbc::RepeatedField WinItems { get { return winItems_; } } /// Field number for the "lostItems" field. - public const int LostItemsFieldNumber = 4; - private static readonly pb::FieldCodec _repeated_lostItems_codec - = pb::FieldCodec.ForMessage(34, global::Pb.Game.Zhg.StatPvPReport.Types.Item.Parser); - private readonly pbc::RepeatedField lostItems_ = new pbc::RepeatedField(); + public const int LostItemsFieldNumber = 11; + private static readonly pb::FieldCodec _repeated_lostItems_codec + = pb::FieldCodec.ForMessage(90, global::Pb.Game.Zhg.StatPvPReportReq.Types.Item.Parser); + private readonly pbc::RepeatedField lostItems_ = new pbc::RepeatedField(); /// /// 战败方数据 /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField LostItems { + public pbc::RepeatedField LostItems { get { return lostItems_; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as StatPvPReport); + return Equals(other as StatPvPReportReq); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StatPvPReport other) { + public bool Equals(StatPvPReportReq other) { if (ReferenceEquals(other, null)) { return false; } @@ -685,7 +687,7 @@ namespace Pb.Game.Zhg { return true; } if (WinCamp != other.WinCamp) return false; - if (GeneralUid != other.GeneralUid) return false; + if (!object.Equals(General, other.General)) return false; if(!winItems_.Equals(other.winItems_)) return false; if(!lostItems_.Equals(other.lostItems_)) return false; return Equals(_unknownFields, other._unknownFields); @@ -696,7 +698,7 @@ namespace Pb.Game.Zhg { public override int GetHashCode() { int hash = 1; if (WinCamp != 0) hash ^= WinCamp.GetHashCode(); - if (GeneralUid != 0L) hash ^= GeneralUid.GetHashCode(); + if (general_ != null) hash ^= General.GetHashCode(); hash ^= winItems_.GetHashCode(); hash ^= lostItems_.GetHashCode(); if (_unknownFields != null) { @@ -721,9 +723,9 @@ namespace Pb.Game.Zhg { output.WriteRawTag(8); output.WriteInt32(WinCamp); } - if (GeneralUid != 0L) { - output.WriteRawTag(16); - output.WriteInt64(GeneralUid); + if (general_ != null) { + output.WriteRawTag(18); + output.WriteMessage(General); } winItems_.WriteTo(output, _repeated_winItems_codec); lostItems_.WriteTo(output, _repeated_lostItems_codec); @@ -741,9 +743,9 @@ namespace Pb.Game.Zhg { output.WriteRawTag(8); output.WriteInt32(WinCamp); } - if (GeneralUid != 0L) { - output.WriteRawTag(16); - output.WriteInt64(GeneralUid); + if (general_ != null) { + output.WriteRawTag(18); + output.WriteMessage(General); } winItems_.WriteTo(ref output, _repeated_winItems_codec); lostItems_.WriteTo(ref output, _repeated_lostItems_codec); @@ -760,8 +762,8 @@ namespace Pb.Game.Zhg { if (WinCamp != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(WinCamp); } - if (GeneralUid != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(GeneralUid); + if (general_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(General); } size += winItems_.CalculateSize(_repeated_winItems_codec); size += lostItems_.CalculateSize(_repeated_lostItems_codec); @@ -773,15 +775,18 @@ namespace Pb.Game.Zhg { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StatPvPReport other) { + public void MergeFrom(StatPvPReportReq other) { if (other == null) { return; } if (other.WinCamp != 0) { WinCamp = other.WinCamp; } - if (other.GeneralUid != 0L) { - GeneralUid = other.GeneralUid; + if (other.general_ != null) { + if (general_ == null) { + General = new global::Pb.Game.Zhg.StatPvPReportReq.Types.General(); + } + General.MergeFrom(other.General); } winItems_.Add(other.winItems_); lostItems_.Add(other.lostItems_); @@ -804,15 +809,18 @@ namespace Pb.Game.Zhg { WinCamp = input.ReadInt32(); break; } - case 16: { - GeneralUid = input.ReadInt64(); + case 18: { + if (general_ == null) { + General = new global::Pb.Game.Zhg.StatPvPReportReq.Types.General(); + } + input.ReadMessage(General); break; } - case 26: { + case 82: { winItems_.AddEntriesFrom(input, _repeated_winItems_codec); break; } - case 34: { + case 90: { lostItems_.AddEntriesFrom(input, _repeated_lostItems_codec); break; } @@ -835,15 +843,18 @@ namespace Pb.Game.Zhg { WinCamp = input.ReadInt32(); break; } - case 16: { - GeneralUid = input.ReadInt64(); + case 18: { + if (general_ == null) { + General = new global::Pb.Game.Zhg.StatPvPReportReq.Types.General(); + } + input.ReadMessage(General); break; } - case 26: { + case 82: { winItems_.AddEntriesFrom(ref input, _repeated_winItems_codec); break; } - case 34: { + case 90: { lostItems_.AddEntriesFrom(ref input, _repeated_lostItems_codec); break; } @@ -853,7 +864,7 @@ namespace Pb.Game.Zhg { #endif #region Nested types - /// Container for nested types declared in the StatPvPReport message type. + /// Container for nested types declared in the StatPvPReportReq message type. [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static partial class Types { @@ -871,7 +882,7 @@ namespace Pb.Game.Zhg { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Pb.Game.Zhg.StatPvPReport.Descriptor.NestedTypes[0]; } + get { return global::Pb.Game.Zhg.StatPvPReportReq.Descriptor.NestedTypes[0]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -892,6 +903,7 @@ namespace Pb.Game.Zhg { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public Item(Item other) : this() { uid_ = other.uid_; + uname_ = other.uname_; damage_ = other.damage_; deDamage_ = other.deDamage_; killUnit_ = other.killUnit_; @@ -920,8 +932,23 @@ namespace Pb.Game.Zhg { } } + /// Field number for the "uname" field. + public const int UnameFieldNumber = 2; + private string uname_ = ""; + /// + /// 用户名 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Uname { + get { return uname_; } + set { + uname_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Field number for the "damage" field. - public const int DamageFieldNumber = 2; + public const int DamageFieldNumber = 3; private long damage_; /// /// 伤害量 @@ -936,7 +963,7 @@ namespace Pb.Game.Zhg { } /// Field number for the "deDamage" field. - public const int DeDamageFieldNumber = 3; + public const int DeDamageFieldNumber = 4; private long deDamage_; /// /// 承受伤害 @@ -951,7 +978,7 @@ namespace Pb.Game.Zhg { } /// Field number for the "killUnit" field. - public const int KillUnitFieldNumber = 4; + public const int KillUnitFieldNumber = 5; private long killUnit_; /// /// 击杀单位数量 @@ -966,7 +993,7 @@ namespace Pb.Game.Zhg { } /// Field number for the "deKillUnit" field. - public const int DeKillUnitFieldNumber = 5; + public const int DeKillUnitFieldNumber = 6; private long deKillUnit_; /// /// 被杀单位数量 @@ -996,6 +1023,7 @@ namespace Pb.Game.Zhg { return true; } if (Uid != other.Uid) return false; + if (Uname != other.Uname) return false; if (Damage != other.Damage) return false; if (DeDamage != other.DeDamage) return false; if (KillUnit != other.KillUnit) return false; @@ -1008,6 +1036,7 @@ namespace Pb.Game.Zhg { public override int GetHashCode() { int hash = 1; if (Uid != 0L) hash ^= Uid.GetHashCode(); + if (Uname.Length != 0) hash ^= Uname.GetHashCode(); if (Damage != 0L) hash ^= Damage.GetHashCode(); if (DeDamage != 0L) hash ^= DeDamage.GetHashCode(); if (KillUnit != 0L) hash ^= KillUnit.GetHashCode(); @@ -1034,20 +1063,24 @@ namespace Pb.Game.Zhg { output.WriteRawTag(8); output.WriteInt64(Uid); } + if (Uname.Length != 0) { + output.WriteRawTag(18); + output.WriteString(Uname); + } if (Damage != 0L) { - output.WriteRawTag(16); + output.WriteRawTag(24); output.WriteInt64(Damage); } if (DeDamage != 0L) { - output.WriteRawTag(24); + output.WriteRawTag(32); output.WriteInt64(DeDamage); } if (KillUnit != 0L) { - output.WriteRawTag(32); + output.WriteRawTag(40); output.WriteInt64(KillUnit); } if (DeKillUnit != 0L) { - output.WriteRawTag(40); + output.WriteRawTag(48); output.WriteInt64(DeKillUnit); } if (_unknownFields != null) { @@ -1064,20 +1097,24 @@ namespace Pb.Game.Zhg { output.WriteRawTag(8); output.WriteInt64(Uid); } + if (Uname.Length != 0) { + output.WriteRawTag(18); + output.WriteString(Uname); + } if (Damage != 0L) { - output.WriteRawTag(16); + output.WriteRawTag(24); output.WriteInt64(Damage); } if (DeDamage != 0L) { - output.WriteRawTag(24); + output.WriteRawTag(32); output.WriteInt64(DeDamage); } if (KillUnit != 0L) { - output.WriteRawTag(32); + output.WriteRawTag(40); output.WriteInt64(KillUnit); } if (DeKillUnit != 0L) { - output.WriteRawTag(40); + output.WriteRawTag(48); output.WriteInt64(DeKillUnit); } if (_unknownFields != null) { @@ -1093,6 +1130,9 @@ namespace Pb.Game.Zhg { if (Uid != 0L) { size += 1 + pb::CodedOutputStream.ComputeInt64Size(Uid); } + if (Uname.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Uname); + } if (Damage != 0L) { size += 1 + pb::CodedOutputStream.ComputeInt64Size(Damage); } @@ -1120,6 +1160,9 @@ namespace Pb.Game.Zhg { if (other.Uid != 0L) { Uid = other.Uid; } + if (other.Uname.Length != 0) { + Uname = other.Uname; + } if (other.Damage != 0L) { Damage = other.Damage; } @@ -1151,19 +1194,23 @@ namespace Pb.Game.Zhg { Uid = input.ReadInt64(); break; } - case 16: { - Damage = input.ReadInt64(); + case 18: { + Uname = input.ReadString(); break; } case 24: { - DeDamage = input.ReadInt64(); + Damage = input.ReadInt64(); break; } case 32: { - KillUnit = input.ReadInt64(); + DeDamage = input.ReadInt64(); break; } case 40: { + KillUnit = input.ReadInt64(); + break; + } + case 48: { DeKillUnit = input.ReadInt64(); break; } @@ -1186,19 +1233,23 @@ namespace Pb.Game.Zhg { Uid = input.ReadInt64(); break; } - case 16: { - Damage = input.ReadInt64(); + case 18: { + Uname = input.ReadString(); break; } case 24: { - DeDamage = input.ReadInt64(); + Damage = input.ReadInt64(); break; } case 32: { - KillUnit = input.ReadInt64(); + DeDamage = input.ReadInt64(); break; } case 40: { + KillUnit = input.ReadInt64(); + break; + } + case 48: { DeKillUnit = input.ReadInt64(); break; } @@ -1209,6 +1260,238 @@ namespace Pb.Game.Zhg { } + public sealed partial class General : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new General()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::Pb.Game.Zhg.StatPvPReportReq.Descriptor.NestedTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public General() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public General(General other) : this() { + uid_ = other.uid_; + uname_ = other.uname_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public General Clone() { + return new General(this); + } + + /// Field number for the "uid" field. + public const int UidFieldNumber = 1; + private long uid_; + /// + /// 名将UID + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long Uid { + get { return uid_; } + set { + uid_ = value; + } + } + + /// Field number for the "uname" field. + public const int UnameFieldNumber = 2; + private string uname_ = ""; + /// + /// 名将用户名 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Uname { + get { return uname_; } + set { + uname_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as General); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(General other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Uid != other.Uid) return false; + if (Uname != other.Uname) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (Uid != 0L) hash ^= Uid.GetHashCode(); + if (Uname.Length != 0) hash ^= Uname.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (Uid != 0L) { + output.WriteRawTag(8); + output.WriteInt64(Uid); + } + if (Uname.Length != 0) { + output.WriteRawTag(18); + output.WriteString(Uname); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (Uid != 0L) { + output.WriteRawTag(8); + output.WriteInt64(Uid); + } + if (Uname.Length != 0) { + output.WriteRawTag(18); + output.WriteString(Uname); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (Uid != 0L) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Uid); + } + if (Uname.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Uname); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(General other) { + if (other == null) { + return; + } + if (other.Uid != 0L) { + Uid = other.Uid; + } + if (other.Uname.Length != 0) { + Uname = other.Uname; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Uid = input.ReadInt64(); + break; + } + case 18: { + Uname = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Uid = input.ReadInt64(); + break; + } + case 18: { + Uname = input.ReadString(); + break; + } + } + } + } + #endif + + } + } #endregion @@ -1251,6 +1534,7 @@ namespace Pb.Game.Zhg { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public StatPvPReportResp(StatPvPReportResp other) : this() { + general_ = other.general_ != null ? other.general_.Clone() : null; winItems_ = other.winItems_.Clone(); lostItems_ = other.lostItems_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); @@ -1262,10 +1546,25 @@ namespace Pb.Game.Zhg { return new StatPvPReportResp(this); } + /// Field number for the "general" field. + public const int GeneralFieldNumber = 1; + private global::Pb.Game.Zhg.StatPvPReportResp.Types.Item general_; + /// + /// 名将 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Pb.Game.Zhg.StatPvPReportResp.Types.Item General { + get { return general_; } + set { + general_ = value; + } + } + /// Field number for the "winItems" field. - public const int WinItemsFieldNumber = 3; + public const int WinItemsFieldNumber = 10; private static readonly pb::FieldCodec _repeated_winItems_codec - = pb::FieldCodec.ForMessage(26, global::Pb.Game.Zhg.StatPvPReportResp.Types.Item.Parser); + = pb::FieldCodec.ForMessage(82, global::Pb.Game.Zhg.StatPvPReportResp.Types.Item.Parser); private readonly pbc::RepeatedField winItems_ = new pbc::RepeatedField(); /// /// 获胜方数据 @@ -1277,9 +1576,9 @@ namespace Pb.Game.Zhg { } /// Field number for the "lostItems" field. - public const int LostItemsFieldNumber = 4; + public const int LostItemsFieldNumber = 11; private static readonly pb::FieldCodec _repeated_lostItems_codec - = pb::FieldCodec.ForMessage(34, global::Pb.Game.Zhg.StatPvPReportResp.Types.Item.Parser); + = pb::FieldCodec.ForMessage(90, global::Pb.Game.Zhg.StatPvPReportResp.Types.Item.Parser); private readonly pbc::RepeatedField lostItems_ = new pbc::RepeatedField(); /// /// 战败方数据 @@ -1305,6 +1604,7 @@ namespace Pb.Game.Zhg { if (ReferenceEquals(other, this)) { return true; } + if (!object.Equals(General, other.General)) return false; if(!winItems_.Equals(other.winItems_)) return false; if(!lostItems_.Equals(other.lostItems_)) return false; return Equals(_unknownFields, other._unknownFields); @@ -1314,6 +1614,7 @@ namespace Pb.Game.Zhg { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (general_ != null) hash ^= General.GetHashCode(); hash ^= winItems_.GetHashCode(); hash ^= lostItems_.GetHashCode(); if (_unknownFields != null) { @@ -1334,6 +1635,10 @@ namespace Pb.Game.Zhg { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (general_ != null) { + output.WriteRawTag(10); + output.WriteMessage(General); + } winItems_.WriteTo(output, _repeated_winItems_codec); lostItems_.WriteTo(output, _repeated_lostItems_codec); if (_unknownFields != null) { @@ -1346,6 +1651,10 @@ namespace Pb.Game.Zhg { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (general_ != null) { + output.WriteRawTag(10); + output.WriteMessage(General); + } winItems_.WriteTo(ref output, _repeated_winItems_codec); lostItems_.WriteTo(ref output, _repeated_lostItems_codec); if (_unknownFields != null) { @@ -1358,6 +1667,9 @@ namespace Pb.Game.Zhg { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (general_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(General); + } size += winItems_.CalculateSize(_repeated_winItems_codec); size += lostItems_.CalculateSize(_repeated_lostItems_codec); if (_unknownFields != null) { @@ -1372,6 +1684,12 @@ namespace Pb.Game.Zhg { if (other == null) { return; } + if (other.general_ != null) { + if (general_ == null) { + General = new global::Pb.Game.Zhg.StatPvPReportResp.Types.Item(); + } + General.MergeFrom(other.General); + } winItems_.Add(other.winItems_); lostItems_.Add(other.lostItems_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); @@ -1389,11 +1707,18 @@ namespace Pb.Game.Zhg { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 26: { + case 10: { + if (general_ == null) { + General = new global::Pb.Game.Zhg.StatPvPReportResp.Types.Item(); + } + input.ReadMessage(General); + break; + } + case 82: { winItems_.AddEntriesFrom(input, _repeated_winItems_codec); break; } - case 34: { + case 90: { lostItems_.AddEntriesFrom(input, _repeated_lostItems_codec); break; } @@ -1412,11 +1737,18 @@ namespace Pb.Game.Zhg { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 26: { + case 10: { + if (general_ == null) { + General = new global::Pb.Game.Zhg.StatPvPReportResp.Types.Item(); + } + input.ReadMessage(General); + break; + } + case 82: { winItems_.AddEntriesFrom(ref input, _repeated_winItems_codec); break; } - case 34: { + case 90: { lostItems_.AddEntriesFrom(ref input, _repeated_lostItems_codec); break; } @@ -1465,6 +1797,7 @@ namespace Pb.Game.Zhg { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public Item(Item other) : this() { uid_ = other.uid_; + uname_ = other.uname_; addonIntegral_ = other.addonIntegral_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1490,8 +1823,23 @@ namespace Pb.Game.Zhg { } } + /// Field number for the "uname" field. + public const int UnameFieldNumber = 2; + private string uname_ = ""; + /// + /// 用户名 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Uname { + get { return uname_; } + set { + uname_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Field number for the "addonIntegral" field. - public const int AddonIntegralFieldNumber = 2; + public const int AddonIntegralFieldNumber = 3; private long addonIntegral_; /// /// 本次获取的积分 @@ -1521,6 +1869,7 @@ namespace Pb.Game.Zhg { return true; } if (Uid != other.Uid) return false; + if (Uname != other.Uname) return false; if (AddonIntegral != other.AddonIntegral) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1530,6 +1879,7 @@ namespace Pb.Game.Zhg { public override int GetHashCode() { int hash = 1; if (Uid != 0L) hash ^= Uid.GetHashCode(); + if (Uname.Length != 0) hash ^= Uname.GetHashCode(); if (AddonIntegral != 0L) hash ^= AddonIntegral.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -1553,8 +1903,12 @@ namespace Pb.Game.Zhg { output.WriteRawTag(8); output.WriteInt64(Uid); } + if (Uname.Length != 0) { + output.WriteRawTag(18); + output.WriteString(Uname); + } if (AddonIntegral != 0L) { - output.WriteRawTag(16); + output.WriteRawTag(24); output.WriteInt64(AddonIntegral); } if (_unknownFields != null) { @@ -1571,8 +1925,12 @@ namespace Pb.Game.Zhg { output.WriteRawTag(8); output.WriteInt64(Uid); } + if (Uname.Length != 0) { + output.WriteRawTag(18); + output.WriteString(Uname); + } if (AddonIntegral != 0L) { - output.WriteRawTag(16); + output.WriteRawTag(24); output.WriteInt64(AddonIntegral); } if (_unknownFields != null) { @@ -1588,6 +1946,9 @@ namespace Pb.Game.Zhg { if (Uid != 0L) { size += 1 + pb::CodedOutputStream.ComputeInt64Size(Uid); } + if (Uname.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Uname); + } if (AddonIntegral != 0L) { size += 1 + pb::CodedOutputStream.ComputeInt64Size(AddonIntegral); } @@ -1606,6 +1967,9 @@ namespace Pb.Game.Zhg { if (other.Uid != 0L) { Uid = other.Uid; } + if (other.Uname.Length != 0) { + Uname = other.Uname; + } if (other.AddonIntegral != 0L) { AddonIntegral = other.AddonIntegral; } @@ -1628,7 +1992,11 @@ namespace Pb.Game.Zhg { Uid = input.ReadInt64(); break; } - case 16: { + case 18: { + Uname = input.ReadString(); + break; + } + case 24: { AddonIntegral = input.ReadInt64(); break; } @@ -1651,7 +2019,11 @@ namespace Pb.Game.Zhg { Uid = input.ReadInt64(); break; } - case 16: { + case 18: { + Uname = input.ReadString(); + break; + } + case 24: { AddonIntegral = input.ReadInt64(); break; } diff --git a/game/pb/game/zhg/stat.pb.go b/game/pb/game/zhg/stat.pb.go index edbb343..2fd0d40 100644 --- a/game/pb/game/zhg/stat.pb.go +++ b/game/pb/game/zhg/stat.pb.go @@ -141,19 +141,19 @@ func (x *StatPvPFirstBlood) GetType() int32 { } // 通知-PvP战报 statistics.pvp.report -type StatPvPReport struct { +type StatPvPReportReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WinCamp int32 `protobuf:"varint,1,opt,name=winCamp,proto3" json:"winCamp,omitempty"` // 获胜阵营 1-蓝 2-红 - GeneralUid int64 `protobuf:"varint,2,opt,name=generalUid,proto3" json:"generalUid,omitempty"` // 名将UID - WinItems []*StatPvPReport_Item `protobuf:"bytes,3,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 - LostItems []*StatPvPReport_Item `protobuf:"bytes,4,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 + WinCamp int32 `protobuf:"varint,1,opt,name=winCamp,proto3" json:"winCamp,omitempty"` // 获胜阵营 1-蓝 2-红 + General *StatPvPReportReq_General `protobuf:"bytes,2,opt,name=general,proto3" json:"general,omitempty"` + WinItems []*StatPvPReportReq_Item `protobuf:"bytes,10,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 + LostItems []*StatPvPReportReq_Item `protobuf:"bytes,11,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 } -func (x *StatPvPReport) Reset() { - *x = StatPvPReport{} +func (x *StatPvPReportReq) Reset() { + *x = StatPvPReportReq{} if protoimpl.UnsafeEnabled { mi := &file_game_zhg_stat_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -161,13 +161,13 @@ func (x *StatPvPReport) Reset() { } } -func (x *StatPvPReport) String() string { +func (x *StatPvPReportReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StatPvPReport) ProtoMessage() {} +func (*StatPvPReportReq) ProtoMessage() {} -func (x *StatPvPReport) ProtoReflect() protoreflect.Message { +func (x *StatPvPReportReq) ProtoReflect() protoreflect.Message { mi := &file_game_zhg_stat_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -179,33 +179,33 @@ func (x *StatPvPReport) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StatPvPReport.ProtoReflect.Descriptor instead. -func (*StatPvPReport) Descriptor() ([]byte, []int) { +// Deprecated: Use StatPvPReportReq.ProtoReflect.Descriptor instead. +func (*StatPvPReportReq) Descriptor() ([]byte, []int) { return file_game_zhg_stat_proto_rawDescGZIP(), []int{2} } -func (x *StatPvPReport) GetWinCamp() int32 { +func (x *StatPvPReportReq) GetWinCamp() int32 { if x != nil { return x.WinCamp } return 0 } -func (x *StatPvPReport) GetGeneralUid() int64 { +func (x *StatPvPReportReq) GetGeneral() *StatPvPReportReq_General { if x != nil { - return x.GeneralUid + return x.General } - return 0 + return nil } -func (x *StatPvPReport) GetWinItems() []*StatPvPReport_Item { +func (x *StatPvPReportReq) GetWinItems() []*StatPvPReportReq_Item { if x != nil { return x.WinItems } return nil } -func (x *StatPvPReport) GetLostItems() []*StatPvPReport_Item { +func (x *StatPvPReportReq) GetLostItems() []*StatPvPReportReq_Item { if x != nil { return x.LostItems } @@ -218,8 +218,9 @@ type StatPvPReportResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WinItems []*StatPvPReportResp_Item `protobuf:"bytes,3,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 - LostItems []*StatPvPReportResp_Item `protobuf:"bytes,4,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 + General *StatPvPReportResp_Item `protobuf:"bytes,1,opt,name=general,proto3" json:"general,omitempty"` // 名将 + WinItems []*StatPvPReportResp_Item `protobuf:"bytes,10,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 + LostItems []*StatPvPReportResp_Item `protobuf:"bytes,11,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 } func (x *StatPvPReportResp) Reset() { @@ -254,6 +255,13 @@ func (*StatPvPReportResp) Descriptor() ([]byte, []int) { return file_game_zhg_stat_proto_rawDescGZIP(), []int{3} } +func (x *StatPvPReportResp) GetGeneral() *StatPvPReportResp_Item { + if x != nil { + return x.General + } + return nil +} + func (x *StatPvPReportResp) GetWinItems() []*StatPvPReportResp_Item { if x != nil { return x.WinItems @@ -268,20 +276,21 @@ func (x *StatPvPReportResp) GetLostItems() []*StatPvPReportResp_Item { return nil } -type StatPvPReport_Item struct { +type StatPvPReportReq_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID - Damage int64 `protobuf:"varint,2,opt,name=damage,proto3" json:"damage,omitempty"` // 伤害量 - DeDamage int64 `protobuf:"varint,3,opt,name=deDamage,proto3" json:"deDamage,omitempty"` // 承受伤害 - KillUnit int64 `protobuf:"varint,4,opt,name=killUnit,proto3" json:"killUnit,omitempty"` // 击杀单位数量 - DeKillUnit int64 `protobuf:"varint,5,opt,name=deKillUnit,proto3" json:"deKillUnit,omitempty"` // 被杀单位数量 + Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID + Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` // 用户名 + Damage int64 `protobuf:"varint,3,opt,name=damage,proto3" json:"damage,omitempty"` // 伤害量 + DeDamage int64 `protobuf:"varint,4,opt,name=deDamage,proto3" json:"deDamage,omitempty"` // 承受伤害 + KillUnit int64 `protobuf:"varint,5,opt,name=killUnit,proto3" json:"killUnit,omitempty"` // 击杀单位数量 + DeKillUnit int64 `protobuf:"varint,6,opt,name=deKillUnit,proto3" json:"deKillUnit,omitempty"` // 被杀单位数量 } -func (x *StatPvPReport_Item) Reset() { - *x = StatPvPReport_Item{} +func (x *StatPvPReportReq_Item) Reset() { + *x = StatPvPReportReq_Item{} if protoimpl.UnsafeEnabled { mi := &file_game_zhg_stat_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -289,13 +298,13 @@ func (x *StatPvPReport_Item) Reset() { } } -func (x *StatPvPReport_Item) String() string { +func (x *StatPvPReportReq_Item) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StatPvPReport_Item) ProtoMessage() {} +func (*StatPvPReportReq_Item) ProtoMessage() {} -func (x *StatPvPReport_Item) ProtoReflect() protoreflect.Message { +func (x *StatPvPReportReq_Item) ProtoReflect() protoreflect.Message { mi := &file_game_zhg_stat_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -307,59 +316,122 @@ func (x *StatPvPReport_Item) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StatPvPReport_Item.ProtoReflect.Descriptor instead. -func (*StatPvPReport_Item) Descriptor() ([]byte, []int) { +// Deprecated: Use StatPvPReportReq_Item.ProtoReflect.Descriptor instead. +func (*StatPvPReportReq_Item) Descriptor() ([]byte, []int) { return file_game_zhg_stat_proto_rawDescGZIP(), []int{2, 0} } -func (x *StatPvPReport_Item) GetUid() int64 { +func (x *StatPvPReportReq_Item) GetUid() int64 { if x != nil { return x.Uid } return 0 } -func (x *StatPvPReport_Item) GetDamage() int64 { +func (x *StatPvPReportReq_Item) GetUname() string { + if x != nil { + return x.Uname + } + return "" +} + +func (x *StatPvPReportReq_Item) GetDamage() int64 { if x != nil { return x.Damage } return 0 } -func (x *StatPvPReport_Item) GetDeDamage() int64 { +func (x *StatPvPReportReq_Item) GetDeDamage() int64 { if x != nil { return x.DeDamage } return 0 } -func (x *StatPvPReport_Item) GetKillUnit() int64 { +func (x *StatPvPReportReq_Item) GetKillUnit() int64 { if x != nil { return x.KillUnit } return 0 } -func (x *StatPvPReport_Item) GetDeKillUnit() int64 { +func (x *StatPvPReportReq_Item) GetDeKillUnit() int64 { if x != nil { return x.DeKillUnit } return 0 } +type StatPvPReportReq_General struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 名将UID + Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` // 名将用户名 +} + +func (x *StatPvPReportReq_General) Reset() { + *x = StatPvPReportReq_General{} + if protoimpl.UnsafeEnabled { + mi := &file_game_zhg_stat_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatPvPReportReq_General) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatPvPReportReq_General) ProtoMessage() {} + +func (x *StatPvPReportReq_General) ProtoReflect() protoreflect.Message { + mi := &file_game_zhg_stat_proto_msgTypes[5] + 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 StatPvPReportReq_General.ProtoReflect.Descriptor instead. +func (*StatPvPReportReq_General) Descriptor() ([]byte, []int) { + return file_game_zhg_stat_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *StatPvPReportReq_General) GetUid() int64 { + if x != nil { + return x.Uid + } + return 0 +} + +func (x *StatPvPReportReq_General) GetUname() string { + if x != nil { + return x.Uname + } + return "" +} + type StatPvPReportResp_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID - AddonIntegral int64 `protobuf:"varint,2,opt,name=addonIntegral,proto3" json:"addonIntegral,omitempty"` // 本次获取的积分 + Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID + Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` // 用户名 + AddonIntegral int64 `protobuf:"varint,3,opt,name=addonIntegral,proto3" json:"addonIntegral,omitempty"` // 本次获取的积分 } func (x *StatPvPReportResp_Item) Reset() { *x = StatPvPReportResp_Item{} if protoimpl.UnsafeEnabled { - mi := &file_game_zhg_stat_proto_msgTypes[5] + mi := &file_game_zhg_stat_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -372,7 +444,7 @@ func (x *StatPvPReportResp_Item) String() string { func (*StatPvPReportResp_Item) ProtoMessage() {} func (x *StatPvPReportResp_Item) ProtoReflect() protoreflect.Message { - mi := &file_game_zhg_stat_proto_msgTypes[5] + mi := &file_game_zhg_stat_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -395,6 +467,13 @@ func (x *StatPvPReportResp_Item) GetUid() int64 { return 0 } +func (x *StatPvPReportResp_Item) GetUname() string { + if x != nil { + return x.Uname + } + return "" +} + func (x *StatPvPReportResp_Item) GetAddonIntegral() int64 { if x != nil { return x.AddonIntegral @@ -416,45 +495,57 @@ var file_game_zhg_stat_proto_rawDesc = []byte{ 0x39, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd0, 0x02, 0x0a, 0x0d, 0x53, - 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x77, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, - 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x6c, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x6c, 0x55, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x61, - 0x6d, 0x65, 0x2e, 0x7a, 0x68, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x61, 0x6d, 0x65, - 0x2e, 0x7a, 0x68, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x1a, 0x88, 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc3, 0x03, 0x0a, 0x10, 0x53, + 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x77, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x70, 0x12, 0x3f, 0x0a, 0x07, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x62, 0x2e, + 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x7a, 0x68, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x6c, 0x52, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x08, 0x77, 0x69, + 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, + 0x62, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x7a, 0x68, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, + 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x6c, 0x6f, + 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x70, 0x62, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x7a, 0x68, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x9e, 0x01, 0x0a, + 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x22, 0xd7, 0x01, - 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, - 0x7a, 0x68, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x61, 0x6d, + 0x0a, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0a, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x1a, 0x31, 0x0a, + 0x07, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xac, 0x02, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x61, 0x6d, + 0x65, 0x2e, 0x7a, 0x68, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x7a, 0x68, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x6f, - 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x3e, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, - 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x49, - 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x42, 0x20, 0x5a, 0x1e, 0x64, 0x63, 0x67, 0x2f, 0x67, - 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x62, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x7a, 0x68, 0x67, 0x3b, - 0x70, 0x62, 0x47, 0x61, 0x6d, 0x65, 0x5a, 0x68, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x77, 0x69, + 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x67, + 0x61, 0x6d, 0x65, 0x2e, 0x7a, 0x68, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, + 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x54, 0x0a, 0x04, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x64, 0x64, + 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0d, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x42, + 0x20, 0x5a, 0x1e, 0x64, 0x63, 0x67, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x62, 0x2f, 0x67, + 0x61, 0x6d, 0x65, 0x2f, 0x7a, 0x68, 0x67, 0x3b, 0x70, 0x62, 0x47, 0x61, 0x6d, 0x65, 0x5a, 0x68, + 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -469,25 +560,28 @@ func file_game_zhg_stat_proto_rawDescGZIP() []byte { return file_game_zhg_stat_proto_rawDescData } -var file_game_zhg_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_game_zhg_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_game_zhg_stat_proto_goTypes = []interface{}{ - (*StatPvPKill)(nil), // 0: pb.game.zhg.StatPvPKill - (*StatPvPFirstBlood)(nil), // 1: pb.game.zhg.StatPvPFirstBlood - (*StatPvPReport)(nil), // 2: pb.game.zhg.StatPvPReport - (*StatPvPReportResp)(nil), // 3: pb.game.zhg.StatPvPReportResp - (*StatPvPReport_Item)(nil), // 4: pb.game.zhg.StatPvPReport.Item - (*StatPvPReportResp_Item)(nil), // 5: pb.game.zhg.StatPvPReportResp.Item + (*StatPvPKill)(nil), // 0: pb.game.zhg.StatPvPKill + (*StatPvPFirstBlood)(nil), // 1: pb.game.zhg.StatPvPFirstBlood + (*StatPvPReportReq)(nil), // 2: pb.game.zhg.StatPvPReportReq + (*StatPvPReportResp)(nil), // 3: pb.game.zhg.StatPvPReportResp + (*StatPvPReportReq_Item)(nil), // 4: pb.game.zhg.StatPvPReportReq.Item + (*StatPvPReportReq_General)(nil), // 5: pb.game.zhg.StatPvPReportReq.General + (*StatPvPReportResp_Item)(nil), // 6: pb.game.zhg.StatPvPReportResp.Item } var file_game_zhg_stat_proto_depIdxs = []int32{ - 4, // 0: pb.game.zhg.StatPvPReport.winItems:type_name -> pb.game.zhg.StatPvPReport.Item - 4, // 1: pb.game.zhg.StatPvPReport.lostItems:type_name -> pb.game.zhg.StatPvPReport.Item - 5, // 2: pb.game.zhg.StatPvPReportResp.winItems:type_name -> pb.game.zhg.StatPvPReportResp.Item - 5, // 3: pb.game.zhg.StatPvPReportResp.lostItems:type_name -> pb.game.zhg.StatPvPReportResp.Item - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 5, // 0: pb.game.zhg.StatPvPReportReq.general:type_name -> pb.game.zhg.StatPvPReportReq.General + 4, // 1: pb.game.zhg.StatPvPReportReq.winItems:type_name -> pb.game.zhg.StatPvPReportReq.Item + 4, // 2: pb.game.zhg.StatPvPReportReq.lostItems:type_name -> pb.game.zhg.StatPvPReportReq.Item + 6, // 3: pb.game.zhg.StatPvPReportResp.general:type_name -> pb.game.zhg.StatPvPReportResp.Item + 6, // 4: pb.game.zhg.StatPvPReportResp.winItems:type_name -> pb.game.zhg.StatPvPReportResp.Item + 6, // 5: pb.game.zhg.StatPvPReportResp.lostItems:type_name -> pb.game.zhg.StatPvPReportResp.Item + 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 extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_game_zhg_stat_proto_init() } @@ -521,7 +615,7 @@ func file_game_zhg_stat_proto_init() { } } file_game_zhg_stat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatPvPReport); i { + switch v := v.(*StatPvPReportReq); i { case 0: return &v.state case 1: @@ -545,7 +639,7 @@ func file_game_zhg_stat_proto_init() { } } file_game_zhg_stat_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatPvPReport_Item); i { + switch v := v.(*StatPvPReportReq_Item); i { case 0: return &v.state case 1: @@ -557,6 +651,18 @@ func file_game_zhg_stat_proto_init() { } } file_game_zhg_stat_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatPvPReportReq_General); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_game_zhg_stat_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatPvPReportResp_Item); i { case 0: return &v.state @@ -575,7 +681,7 @@ func file_game_zhg_stat_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_game_zhg_stat_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/game/pb/game/zhg/stat.proto b/game/pb/game/zhg/stat.proto index b52f326..6f3ce3a 100644 --- a/game/pb/game/zhg/stat.proto +++ b/game/pb/game/zhg/stat.proto @@ -18,26 +18,33 @@ message StatPvPFirstBlood { } // 通知-PvP战报 statistics.pvp.report -message StatPvPReport { +message StatPvPReportReq { message Item { int64 uid = 1; // 用户ID - int64 damage = 2; // 伤害量 - int64 deDamage = 3; // 承受伤害 - int64 killUnit = 4; // 击杀单位数量 - int64 deKillUnit = 5; // 被杀单位数量 + string uname = 2; // 用户名 + int64 damage = 3; // 伤害量 + int64 deDamage = 4; // 承受伤害 + int64 killUnit = 5; // 击杀单位数量 + int64 deKillUnit = 6; // 被杀单位数量 + } + message General { + int64 uid = 1; // 名将UID + string uname = 2; // 名将用户名 } int32 winCamp = 1; // 获胜阵营 1-蓝 2-红 - int64 generalUid = 2; // 名将UID - repeated Item winItems = 3; // 获胜方数据 - repeated Item lostItems = 4; // 战败方数据 + General general = 2; + repeated Item winItems = 10; // 获胜方数据 + repeated Item lostItems = 11; // 战败方数据 } // 通知-PvP战报 回复 message StatPvPReportResp { message Item { int64 uid = 1; // 用户ID - int64 addonIntegral = 2; // 本次获取的积分 + string uname = 2; // 用户名 + int64 addonIntegral = 3; // 本次获取的积分 } - repeated Item winItems = 3; // 获胜方数据 - repeated Item lostItems = 4; // 战败方数据 + Item general = 1; // 名将 + repeated Item winItems = 10; // 获胜方数据 + repeated Item lostItems = 11; // 战败方数据 } \ No newline at end of file