图鉴更新校验

This commit is contained in:
meixiongfeng 2023-02-22 11:30:54 +08:00
parent 8e38fa0b62
commit 06cad71be0
4 changed files with 849 additions and 280 deletions

View File

@ -153,7 +153,8 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
// 装备资源分发 // 装备资源分发
if customLv > 0 { // if customLv > 0 { //
if equip, code1 := this.module.ModuleEquipment.GetForgeEquip(session, req.SuiteId, req.Position, customLv); code1 != pb.ErrorCode_Success { sz := make([]int32, 4)
if equip, code1 := this.module.ModuleEquipment.GetForgeEquip(session, req.SuiteId, req.Position, customLv, sz); code1 != pb.ErrorCode_Success {
rsp.Equip = append(rsp.Equip, equip.CId) rsp.Equip = append(rsp.Equip, equip.CId)
return return
} }

View File

@ -5,6 +5,7 @@ import (
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
@ -33,7 +34,8 @@ func (this *modelAtlas) getSmithyAtlasList(uid string) (result *pb.DBAtlas, err
if mongo.ErrNoDocuments == err { if mongo.ErrNoDocuments == err {
result.Id = primitive.NewObjectID().Hex() result.Id = primitive.NewObjectID().Hex()
result.Uid = uid result.Uid = uid
result.Atlas = make(map[string]*pb.ForgeData, 0) result.Atlas = make(map[string]*pb.ForgeList, 0)
result.Collect = make(map[string]*pb.CollectData, 0)
result.Award = 1 // 初始1级 result.Award = 1 // 初始1级
this.Add(uid, result) this.Add(uid, result)
err = nil err = nil
@ -58,24 +60,57 @@ func (this *modelAtlas) CheckActivateAtlas(uid string, id string, lv int32, qual
if err != nil { if err != nil {
return false return false
} }
for k, v := range list.Atlas {
if k == id { // 找到相同的 校验 对应的分数
// 获取分数
scoreConf := this.module.configure.GetSmithyAtlasScoreConf(quality, lv) scoreConf := this.module.configure.GetSmithyAtlasScoreConf(quality, lv)
if scoreConf != nil { if scoreConf == nil {
if v.Score <= scoreConf.Score { return false
v.Lv = lv }
v.Quality = quality if v, ok := list.Atlas[id]; ok { // 找到相同的 校验 对应的分数
v.Score = scoreConf.Score // 获取分数
v.ForgeCount = forgeCount // 更新锻造次数 if len(v.Data) == 1 {
if v.Data[0].Score <= scoreConf.Score {
newData := &pb.ForgeData{
ForgeCount: forgeCount,
Lv: lv,
Quality: quality,
Score: scoreConf.Score,
Time: configure.Now().Unix(),
}
v.Data = append(v.Data, newData)
update := make(map[string]interface{}, 0)
update["tujian"] = list.Atlas
this.module.modelAtlas.modifySmithyAtlasList(uid, update) // 更新分数信息
return true
}
} else if len(v.Data) == 2 { // 更新第二条数据
if v.Data[1].Score <= scoreConf.Score {
v.Data[1].Lv = lv
v.Data[1].Quality = quality
v.Data[1].Score = scoreConf.Score
v.Data[1].ForgeCount = forgeCount // 更新锻造次数
update := make(map[string]interface{}, 0)
update["tujian"] = list.Atlas
this.module.modelAtlas.modifySmithyAtlasList(uid, update) // 更新分数信息
return true
}
}
return false
} else {
sz := &pb.ForgeList{}
newData := &pb.ForgeData{
ForgeCount: forgeCount,
Lv: lv,
Quality: quality,
Score: scoreConf.Score,
Time: configure.Now().Unix(),
}
sz.Data = append(sz.Data, newData)
sz.Activate = false // 第一次获得 默认是非激活状态
list.Atlas[id] = sz
update := make(map[string]interface{}, 0) update := make(map[string]interface{}, 0)
update["tujian"] = list.Atlas update["tujian"] = list.Atlas
this.module.modelAtlas.modifySmithyAtlasList(uid, update) // 更新分数信息 this.module.modelAtlas.modifySmithyAtlasList(uid, update) // 更新分数信息
} }
return true
}
return false
}
}
return true return true
} }

View File

@ -329,9 +329,10 @@ type DBAtlas struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
Atlas map[string]*ForgeData `protobuf:"bytes,3,rep,name=atlas,proto3" json:"atlas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 图鉴信息 Atlas map[string]*ForgeList `protobuf:"bytes,3,rep,name=atlas,proto3" json:"atlas" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 图鉴信息
Score int32 `protobuf:"varint,4,opt,name=score,proto3" json:"score"` // 总积分 Collect map[string]*CollectData `protobuf:"bytes,4,rep,name=collect,proto3" json:"collect" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 收藏品图鉴信息
Award int32 `protobuf:"varint,5,opt,name=award,proto3" json:"award"` // 奖励进度 Score int32 `protobuf:"varint,5,opt,name=score,proto3" json:"score"` // 总积分
Award int32 `protobuf:"varint,6,opt,name=award,proto3" json:"award"` // 奖励进度
} }
func (x *DBAtlas) Reset() { func (x *DBAtlas) Reset() {
@ -380,13 +381,20 @@ func (x *DBAtlas) GetUid() string {
return "" return ""
} }
func (x *DBAtlas) GetAtlas() map[string]*ForgeData { func (x *DBAtlas) GetAtlas() map[string]*ForgeList {
if x != nil { if x != nil {
return x.Atlas return x.Atlas
} }
return nil return nil
} }
func (x *DBAtlas) GetCollect() map[string]*CollectData {
if x != nil {
return x.Collect
}
return nil
}
func (x *DBAtlas) GetScore() int32 { func (x *DBAtlas) GetScore() int32 {
if x != nil { if x != nil {
return x.Score return x.Score
@ -401,6 +409,124 @@ func (x *DBAtlas) GetAward() int32 {
return 0 return 0
} }
type CollectData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"`
Score int32 `protobuf:"varint,2,opt,name=score,proto3" json:"score"`
Time int64 `protobuf:"varint,3,opt,name=time,proto3" json:"time"` // 获得时间
}
func (x *CollectData) Reset() {
*x = CollectData{}
if protoimpl.UnsafeEnabled {
mi := &file_smithy_smithy_db_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CollectData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CollectData) ProtoMessage() {}
func (x *CollectData) ProtoReflect() protoreflect.Message {
mi := &file_smithy_smithy_db_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 CollectData.ProtoReflect.Descriptor instead.
func (*CollectData) Descriptor() ([]byte, []int) {
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{5}
}
func (x *CollectData) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *CollectData) GetScore() int32 {
if x != nil {
return x.Score
}
return 0
}
func (x *CollectData) GetTime() int64 {
if x != nil {
return x.Time
}
return 0
}
type ForgeList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data []*ForgeData `protobuf:"bytes,1,rep,name=data,proto3" json:"data"`
Activate bool `protobuf:"varint,2,opt,name=activate,proto3" json:"activate"` // 是否激活
}
func (x *ForgeList) Reset() {
*x = ForgeList{}
if protoimpl.UnsafeEnabled {
mi := &file_smithy_smithy_db_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ForgeList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ForgeList) ProtoMessage() {}
func (x *ForgeList) ProtoReflect() protoreflect.Message {
mi := &file_smithy_smithy_db_proto_msgTypes[6]
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 ForgeList.ProtoReflect.Descriptor instead.
func (*ForgeList) Descriptor() ([]byte, []int) {
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{6}
}
func (x *ForgeList) GetData() []*ForgeData {
if x != nil {
return x.Data
}
return nil
}
func (x *ForgeList) GetActivate() bool {
if x != nil {
return x.Activate
}
return false
}
type ForgeData struct { type ForgeData struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -410,12 +536,13 @@ type ForgeData struct {
Lv int32 `protobuf:"varint,2,opt,name=lv,proto3" json:"lv"` Lv int32 `protobuf:"varint,2,opt,name=lv,proto3" json:"lv"`
Quality int32 `protobuf:"varint,3,opt,name=quality,proto3" json:"quality"` Quality int32 `protobuf:"varint,3,opt,name=quality,proto3" json:"quality"`
Score int32 `protobuf:"varint,4,opt,name=score,proto3" json:"score"` Score int32 `protobuf:"varint,4,opt,name=score,proto3" json:"score"`
Time int64 `protobuf:"varint,5,opt,name=time,proto3" json:"time"` // 获得时间
} }
func (x *ForgeData) Reset() { func (x *ForgeData) Reset() {
*x = ForgeData{} *x = ForgeData{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_smithy_smithy_db_proto_msgTypes[5] mi := &file_smithy_smithy_db_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -428,7 +555,7 @@ func (x *ForgeData) String() string {
func (*ForgeData) ProtoMessage() {} func (*ForgeData) ProtoMessage() {}
func (x *ForgeData) ProtoReflect() protoreflect.Message { func (x *ForgeData) ProtoReflect() protoreflect.Message {
mi := &file_smithy_smithy_db_proto_msgTypes[5] mi := &file_smithy_smithy_db_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -441,7 +568,7 @@ func (x *ForgeData) ProtoReflect() protoreflect.Message {
// Deprecated: Use ForgeData.ProtoReflect.Descriptor instead. // Deprecated: Use ForgeData.ProtoReflect.Descriptor instead.
func (*ForgeData) Descriptor() ([]byte, []int) { func (*ForgeData) Descriptor() ([]byte, []int) {
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{5} return file_smithy_smithy_db_proto_rawDescGZIP(), []int{7}
} }
func (x *ForgeData) GetForgeCount() int32 { func (x *ForgeData) GetForgeCount() int32 {
@ -472,6 +599,77 @@ func (x *ForgeData) GetScore() int32 {
return 0 return 0
} }
func (x *ForgeData) GetTime() int64 {
if x != nil {
return x.Time
}
return 0
}
//玩家图鉴任务
type DBTujianTask struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid" bson:"uid"`
TaskId int32 `protobuf:"varint,2,opt,name=taskId,proto3" json:"taskId" bson:"taskId"` // 任务ID
Received int32 `protobuf:"varint,3,opt,name=received,proto3" json:"received" bson:"received"` //领取状态 0未领取 1待领取 2已领取
}
func (x *DBTujianTask) Reset() {
*x = DBTujianTask{}
if protoimpl.UnsafeEnabled {
mi := &file_smithy_smithy_db_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBTujianTask) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBTujianTask) ProtoMessage() {}
func (x *DBTujianTask) ProtoReflect() protoreflect.Message {
mi := &file_smithy_smithy_db_proto_msgTypes[8]
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 DBTujianTask.ProtoReflect.Descriptor instead.
func (*DBTujianTask) Descriptor() ([]byte, []int) {
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{8}
}
func (x *DBTujianTask) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBTujianTask) GetTaskId() int32 {
if x != nil {
return x.TaskId
}
return 0
}
func (x *DBTujianTask) GetReceived() int32 {
if x != nil {
return x.Received
}
return 0
}
//////// ////////
type Clang struct { type Clang struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -486,7 +684,7 @@ type Clang struct {
func (x *Clang) Reset() { func (x *Clang) Reset() {
*x = Clang{} *x = Clang{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_smithy_smithy_db_proto_msgTypes[6] mi := &file_smithy_smithy_db_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -499,7 +697,7 @@ func (x *Clang) String() string {
func (*Clang) ProtoMessage() {} func (*Clang) ProtoMessage() {}
func (x *Clang) ProtoReflect() protoreflect.Message { func (x *Clang) ProtoReflect() protoreflect.Message {
mi := &file_smithy_smithy_db_proto_msgTypes[6] mi := &file_smithy_smithy_db_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -512,7 +710,7 @@ func (x *Clang) ProtoReflect() protoreflect.Message {
// Deprecated: Use Clang.ProtoReflect.Descriptor instead. // Deprecated: Use Clang.ProtoReflect.Descriptor instead.
func (*Clang) Descriptor() ([]byte, []int) { func (*Clang) Descriptor() ([]byte, []int) {
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{6} return file_smithy_smithy_db_proto_rawDescGZIP(), []int{9}
} }
func (x *Clang) GetDeskType() int32 { func (x *Clang) GetDeskType() int32 {
@ -549,7 +747,7 @@ type OrderClang struct {
func (x *OrderClang) Reset() { func (x *OrderClang) Reset() {
*x = OrderClang{} *x = OrderClang{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_smithy_smithy_db_proto_msgTypes[7] mi := &file_smithy_smithy_db_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -562,7 +760,7 @@ func (x *OrderClang) String() string {
func (*OrderClang) ProtoMessage() {} func (*OrderClang) ProtoMessage() {}
func (x *OrderClang) ProtoReflect() protoreflect.Message { func (x *OrderClang) ProtoReflect() protoreflect.Message {
mi := &file_smithy_smithy_db_proto_msgTypes[7] mi := &file_smithy_smithy_db_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -575,7 +773,7 @@ func (x *OrderClang) ProtoReflect() protoreflect.Message {
// Deprecated: Use OrderClang.ProtoReflect.Descriptor instead. // Deprecated: Use OrderClang.ProtoReflect.Descriptor instead.
func (*OrderClang) Descriptor() ([]byte, []int) { func (*OrderClang) Descriptor() ([]byte, []int) {
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{7} return file_smithy_smithy_db_proto_rawDescGZIP(), []int{10}
} }
func (x *OrderClang) GetDeskType() int32 { func (x *OrderClang) GetDeskType() int32 {
@ -621,7 +819,7 @@ type DBSmithy struct {
func (x *DBSmithy) Reset() { func (x *DBSmithy) Reset() {
*x = DBSmithy{} *x = DBSmithy{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_smithy_smithy_db_proto_msgTypes[8] mi := &file_smithy_smithy_db_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -634,7 +832,7 @@ func (x *DBSmithy) String() string {
func (*DBSmithy) ProtoMessage() {} func (*DBSmithy) ProtoMessage() {}
func (x *DBSmithy) ProtoReflect() protoreflect.Message { func (x *DBSmithy) ProtoReflect() protoreflect.Message {
mi := &file_smithy_smithy_db_proto_msgTypes[8] mi := &file_smithy_smithy_db_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -647,7 +845,7 @@ func (x *DBSmithy) ProtoReflect() protoreflect.Message {
// Deprecated: Use DBSmithy.ProtoReflect.Descriptor instead. // Deprecated: Use DBSmithy.ProtoReflect.Descriptor instead.
func (*DBSmithy) Descriptor() ([]byte, []int) { func (*DBSmithy) Descriptor() ([]byte, []int) {
return file_smithy_smithy_db_proto_rawDescGZIP(), []int{8} return file_smithy_smithy_db_proto_rawDescGZIP(), []int{11}
} }
func (x *DBSmithy) GetId() string { func (x *DBSmithy) GetId() string {
@ -786,70 +984,94 @@ var file_smithy_smithy_db_proto_rawDesc = []byte{
0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65,
0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65,
0x22, 0xc8, 0x01, 0x0a, 0x07, 0x44, 0x42, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x22, 0xc3, 0x02, 0x0a, 0x07, 0x44, 0x42, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03,
0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x29, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x29,
0x0a, 0x05, 0x61, 0x74, 0x6c, 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x0a, 0x05, 0x61, 0x74, 0x6c, 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
0x44, 0x42, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x2e, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x44, 0x42, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x2e, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x05, 0x61, 0x74, 0x6c, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x61, 0x74, 0x6c, 0x61, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x63, 0x6f, 0x6c,
0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x41,
0x14, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6c, 0x61, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72,
0x61, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x44, 0x0a, 0x0a, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x44, 0x0a, 0x0a, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x09, 0x46, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x6f, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x67, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x6f, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x73,
0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x02, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x48, 0x0a, 0x0c,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22,
0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x4f, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x67, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x47, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x54, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02,
0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74,
0x28, 0x03, 0x52, 0x05, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x0a, 0x4f, 0x72, 0x64, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22,
0x65, 0x72, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x47, 0x0a, 0x09, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x04,
0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x46, 0x6f, 0x72,
0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08,
0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x65, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x7f, 0x0a, 0x09, 0x46, 0x6f, 0x72, 0x67,
0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x82, 0x04, 0x0a, 0x08, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x43, 0x6f,
0x68, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x67, 0x65,
0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79,
0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12,
0x6e, 0x67, 0x12, 0x23, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x52, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20,
0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x44, 0x42, 0x54,
0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
0x65, 0x74, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74,
0x69, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73,
0x69, 0x74, 0x68, 0x79, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18,
0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x4c, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x22,
0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x4c, 0x76, 0x4f, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x6b,
0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x65, 0x73, 0x6b,
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x54,
0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x54, 0x69, 0x6d, 0x65,
0x64, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x5a, 0x0a, 0x0a, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1a,
0x18, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x6b, 0x46, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x6c, 0x6f, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x64, 0x65, 0x73, 0x6b, 0x46, 0x52, 0x08, 0x64, 0x65, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x46, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x82, 0x04, 0x0a,
0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x08, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x6d, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x05, 0x63,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x43, 0x6c, 0x61,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x6e, 0x67, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x06, 0x6f, 0x72, 0x64,
0x44, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x4f, 0x72, 0x64, 0x65,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x72, 0x43, 0x6c, 0x61, 0x6e, 0x67, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x21,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x2e, 0x53, 0x6b, 0x69, 0x6c,
0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x18, 0x0a,
0x07, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x73, 0x74, 0x6f, 0x76, 0x65, 0x4c, 0x76, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72,
0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d,
0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a,
0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74,
0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72,
0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x53, 0x6d, 0x69, 0x74, 0x68,
0x79, 0x2e, 0x44, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x09, 0x64, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73,
0x74, 0x6f, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x73, 0x74, 0x6f, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x53, 0x6b, 0x69,
0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x6b, 0x46, 0x6c, 0x6f, 0x6f, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
} }
var ( var (
@ -864,43 +1086,50 @@ func file_smithy_smithy_db_proto_rawDescGZIP() []byte {
return file_smithy_smithy_db_proto_rawDescData return file_smithy_smithy_db_proto_rawDescData
} }
var file_smithy_smithy_db_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_smithy_smithy_db_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_smithy_smithy_db_proto_goTypes = []interface{}{ var file_smithy_smithy_db_proto_goTypes = []interface{}{
(*Mastery)(nil), // 0: Mastery (*Mastery)(nil), // 0: Mastery
(*DBStove)(nil), // 1: DBStove (*DBStove)(nil), // 1: DBStove
(*CustomerInfo)(nil), // 2: CustomerInfo (*CustomerInfo)(nil), // 2: CustomerInfo
(*DBCustomer)(nil), // 3: DBCustomer (*DBCustomer)(nil), // 3: DBCustomer
(*DBAtlas)(nil), // 4: DBAtlas (*DBAtlas)(nil), // 4: DBAtlas
(*ForgeData)(nil), // 5: ForgeData (*CollectData)(nil), // 5: CollectData
(*Clang)(nil), // 6: Clang (*ForgeList)(nil), // 6: ForgeList
(*OrderClang)(nil), // 7: OrderClang (*ForgeData)(nil), // 7: ForgeData
(*DBSmithy)(nil), // 8: DBSmithy (*DBTujianTask)(nil), // 8: DBTujianTask
nil, // 9: DBStove.DataEntry (*Clang)(nil), // 9: Clang
nil, // 10: DBStove.SkillEntry (*OrderClang)(nil), // 10: OrderClang
nil, // 11: DBStove.ForgeEntry (*DBSmithy)(nil), // 11: DBSmithy
nil, // 12: DBAtlas.AtlasEntry nil, // 12: DBStove.DataEntry
nil, // 13: DBSmithy.SkillEntry nil, // 13: DBStove.SkillEntry
nil, // 14: DBSmithy.DeskFloorEntry nil, // 14: DBStove.ForgeEntry
(*UserAssets)(nil), // 15: UserAssets nil, // 15: DBAtlas.AtlasEntry
nil, // 16: DBAtlas.CollectEntry
nil, // 17: DBSmithy.SkillEntry
nil, // 18: DBSmithy.DeskFloorEntry
(*UserAssets)(nil), // 19: UserAssets
} }
var file_smithy_smithy_db_proto_depIdxs = []int32{ var file_smithy_smithy_db_proto_depIdxs = []int32{
9, // 0: DBStove.data:type_name -> DBStove.DataEntry 12, // 0: DBStove.data:type_name -> DBStove.DataEntry
10, // 1: DBStove.skill:type_name -> DBStove.SkillEntry 13, // 1: DBStove.skill:type_name -> DBStove.SkillEntry
11, // 2: DBStove.forge:type_name -> DBStove.ForgeEntry 14, // 2: DBStove.forge:type_name -> DBStove.ForgeEntry
2, // 3: DBCustomer.customers:type_name -> CustomerInfo 2, // 3: DBCustomer.customers:type_name -> CustomerInfo
12, // 4: DBAtlas.atlas:type_name -> DBAtlas.AtlasEntry 15, // 4: DBAtlas.atlas:type_name -> DBAtlas.AtlasEntry
6, // 5: DBSmithy.clang:type_name -> Clang 16, // 5: DBAtlas.collect:type_name -> DBAtlas.CollectEntry
7, // 6: DBSmithy.orders:type_name -> OrderClang 7, // 6: ForgeList.data:type_name -> ForgeData
15, // 7: DBSmithy.items:type_name -> UserAssets 9, // 7: DBSmithy.clang:type_name -> Clang
13, // 8: DBSmithy.skill:type_name -> DBSmithy.SkillEntry 10, // 8: DBSmithy.orders:type_name -> OrderClang
14, // 9: DBSmithy.deskFloor:type_name -> DBSmithy.DeskFloorEntry 19, // 9: DBSmithy.items:type_name -> UserAssets
0, // 10: DBStove.DataEntry.value:type_name -> Mastery 17, // 10: DBSmithy.skill:type_name -> DBSmithy.SkillEntry
5, // 11: DBAtlas.AtlasEntry.value:type_name -> ForgeData 18, // 11: DBSmithy.deskFloor:type_name -> DBSmithy.DeskFloorEntry
12, // [12:12] is the sub-list for method output_type 0, // 12: DBStove.DataEntry.value:type_name -> Mastery
12, // [12:12] is the sub-list for method input_type 6, // 13: DBAtlas.AtlasEntry.value:type_name -> ForgeList
12, // [12:12] is the sub-list for extension type_name 5, // 14: DBAtlas.CollectEntry.value:type_name -> CollectData
12, // [12:12] is the sub-list for extension extendee 15, // [15:15] is the sub-list for method output_type
0, // [0:12] is the sub-list for field type_name 15, // [15:15] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
} }
func init() { file_smithy_smithy_db_proto_init() } func init() { file_smithy_smithy_db_proto_init() }
@ -971,7 +1200,7 @@ func file_smithy_smithy_db_proto_init() {
} }
} }
file_smithy_smithy_db_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { file_smithy_smithy_db_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ForgeData); i { switch v := v.(*CollectData); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -983,7 +1212,7 @@ func file_smithy_smithy_db_proto_init() {
} }
} }
file_smithy_smithy_db_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { file_smithy_smithy_db_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Clang); i { switch v := v.(*ForgeList); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -995,7 +1224,7 @@ func file_smithy_smithy_db_proto_init() {
} }
} }
file_smithy_smithy_db_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { file_smithy_smithy_db_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OrderClang); i { switch v := v.(*ForgeData); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1007,6 +1236,42 @@ func file_smithy_smithy_db_proto_init() {
} }
} }
file_smithy_smithy_db_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { file_smithy_smithy_db_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBTujianTask); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_smithy_smithy_db_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Clang); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_smithy_smithy_db_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OrderClang); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_smithy_smithy_db_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBSmithy); i { switch v := v.(*DBSmithy); i {
case 0: case 0:
return &v.state return &v.state
@ -1025,7 +1290,7 @@ func file_smithy_smithy_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_smithy_smithy_db_proto_rawDesc, RawDescriptor: file_smithy_smithy_db_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 15, NumMessages: 19,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

File diff suppressed because it is too large Load Diff