diff --git a/internal/confgen/document_parser.go b/internal/confgen/document_parser.go index 06856873..af36ed6c 100644 --- a/internal/confgen/document_parser.go +++ b/internal/confgen/document_parser.go @@ -387,7 +387,7 @@ func (p *documentParser) parseUnionField(field *Field, msg protoreflect.Message, } if field.opts.Span == tableaupb.Span_SPAN_INNER_CELL { - present, err = p.parseIncellUnion(structValue, node.ScalarValue(), field.opts.GetProp().GetForm()) + present, err = p.parseIncellUnion(field, structValue, node.ScalarValue()) } else { present, err = p.parseUnionMessage(field, structValue.Message(), node.StructNode(), cardPrefix) } diff --git a/internal/confgen/parser.go b/internal/confgen/parser.go index 29207349..88181be0 100644 --- a/internal/confgen/parser.go +++ b/internal/confgen/parser.go @@ -408,7 +408,8 @@ func (p *sheetParser) parseIncellMap(field *Field, reflectMap protoreflect.Map, // - map func (p *sheetParser) parseIncellMapWithSimpleKV(field *Field, reflectMap protoreflect.Map, cellData string) (err error) { if cellData == "" { - return nil + // check presence + return fieldprop.CheckPresence(field.opts.Prop, false) } // If s does not contain sep and sep is not empty, Split returns a // slice of length 1 whose only element is s. @@ -480,7 +481,8 @@ func (p *sheetParser) parseIncellMapWithSimpleKV(field *Field, reflectMap protor // } func (p *sheetParser) parseIncellMapWithValueAsSimpleKVMessage(field *Field, reflectMap protoreflect.Map, cellData string) (err error) { if cellData == "" { - return nil + // check presence + return fieldprop.CheckPresence(field.opts.Prop, false) } // If s does not contain sep and sep is not empty, Split returns a // slice of length 1 whose only element is s. @@ -753,6 +755,13 @@ func (p *sheetParser) checkSubFieldProp(field *Field, cardPrefix string, newValu } func (p *sheetParser) parseIncellList(field *Field, list protoreflect.List, cardPrefix string, elemData string) (present bool, err error) { + if elemData == "" { + if err := fieldprop.CheckPresence(field.opts.Prop, false); err != nil { + return false, err + } + // For fixed size list, an empty cell means an empty list element, + // So here we should continue to parse, but not return. + } splits := strings.Split(elemData, field.sep) return p.parseListElems(field, list, cardPrefix, field.subsep, splits) } @@ -823,7 +832,8 @@ func (p *sheetParser) parseListElems(field *Field, list protoreflect.List, cardP func (p *sheetParser) parseIncellStruct(field *Field, structValue protoreflect.Value, cellData string, sep string) (present bool, err error) { if cellData == "" { - return false, nil + // check presence + return false, fieldprop.CheckPresence(field.opts.Prop, false) } switch field.opts.GetProp().GetForm() { case tableaupb.Form_FORM_TEXT: @@ -915,10 +925,11 @@ func (p *sheetParser) parseUnionMessageField(field *Field, msg protoreflect.Mess return nil } -func (p *sheetParser) parseIncellUnion(structValue protoreflect.Value, cellData string, form tableaupb.Form) (present bool, err error) { +func (p *sheetParser) parseIncellUnion(field *Field, structValue protoreflect.Value, cellData string) (present bool, err error) { if cellData == "" { - return false, nil + return false, fieldprop.CheckPresence(field.opts.Prop, false) } + form := field.opts.GetProp().GetForm() switch form { case tableaupb.Form_FORM_TEXT: if err := prototext.Unmarshal([]byte(cellData), structValue.Message().Interface()); err != nil { diff --git a/internal/confgen/table_parser.go b/internal/confgen/table_parser.go index 90ca96a0..6600984b 100644 --- a/internal/confgen/table_parser.go +++ b/internal/confgen/table_parser.go @@ -568,7 +568,7 @@ func (p *tableParser) parseUnionField(field *Field, msg protoreflect.Message, r if field.opts.Span == tableaupb.Span_SPAN_INNER_CELL { // incell union if cell, err = r.Cell(newPrefix, p.IsFieldOptional(field)); err == nil { - present, err = p.parseIncellUnion(structValue, cell.Data, field.opts.GetProp().GetForm()) + present, err = p.parseIncellUnion(field, structValue, cell.Data) } } else { // cross-cell union diff --git a/internal/confgen/table_parser_test.go b/internal/confgen/table_parser_test.go index 8e4b102e..f23dc8d6 100644 --- a/internal/confgen/table_parser_test.go +++ b/internal/confgen/table_parser_test.go @@ -1009,3 +1009,111 @@ func TestTableParser_parseVerticalSequenceFieldKeyedList(t *testing.T) { }) } } + +func TestTableParser_parseFieldPresentMap(t *testing.T) { + type args struct { + sheet *book.Sheet + } + tests := []struct { + name string + parser *sheetParser + args args + wantErr bool + err error + }{ + { + name: "all fields present", + parser: newTableParserForTest(), + args: args{ + sheet: book.NewTableSheet( + "FieldPresentMap", + [][]string{ + {"ID", "WeaponName", "WeaponRarity", "Info", "Hero", "Attr", "Target"}, + {"1", "sword", "2", "1,10", "1,2,3", "hp:10,atk:20,def:30", "type:TYPE_PVP pvp:{type:1 damage:2}"}, + }), + }, + wantErr: false, + }, + { + name: "first field of horizontal struct not present", + parser: newTableParserForTest(), + args: args{ + sheet: book.NewTableSheet( + "FieldPresentMap", + [][]string{ + {"ID", "WeaponName", "WeaponRarity", "Info", "Hero", "Attr", "Target"}, + {"1", "", "2", "1,10", "1,2,3", "hp:10,atk:20,def:30", "type:TYPE_PVP pvp:{type:1 damage:2}"}, + }), + }, + wantErr: true, + err: xerrors.ErrE2011, + }, + { + name: "incell struct field not present", + parser: newTableParserForTest(), + args: args{ + sheet: book.NewTableSheet( + "FieldPresentMap", + [][]string{ + {"ID", "WeaponName", "WeaponRarity", "Info", "Hero", "Attr", "Target"}, + {"1", "sword", "2", "", "1,2,3", "hp:10,atk:20,def:30", "type:TYPE_PVP pvp:{type:1 damage:2}"}, + }), + }, + wantErr: true, + err: xerrors.ErrE2011, + }, + { + name: "incell list field not present", + parser: newTableParserForTest(), + args: args{ + sheet: book.NewTableSheet( + "FieldPresentMap", + [][]string{ + {"ID", "WeaponName", "WeaponRarity", "Info", "Hero", "Attr", "Target"}, + {"1", "sword", "2", "1,10", "", "hp:10,atk:20,def:30", "type:TYPE_PVP pvp:{type:1 damage:2}"}, + }), + }, + wantErr: true, + err: xerrors.ErrE2011, + }, + { + name: "incell map field not present", + parser: newTableParserForTest(), + args: args{ + sheet: book.NewTableSheet( + "FieldPresentMap", + [][]string{ + {"ID", "WeaponName", "WeaponRarity", "Info", "Hero", "Attr", "Target"}, + {"1", "sword", "2", "1,10", "1,2,3", "", "type:TYPE_PVP pvp:{type:1 damage:2}"}, + }), + }, + wantErr: true, + err: xerrors.ErrE2011, + }, + { + name: "incell union field not present", + parser: newTableParserForTest(), + args: args{ + sheet: book.NewTableSheet( + "FieldPresentMap", + [][]string{ + {"ID", "WeaponName", "WeaponRarity", "Info", "Hero", "Attr", "Target"}, + {"1", "sword", "2", "1,10", "1,2,3", "hp:10,atk:20,def:30", ""}, + }), + }, + wantErr: true, + err: xerrors.ErrE2011, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.parser.Parse(&unittestpb.FieldPresentMap{}, tt.args.sheet) + if (err != nil) != tt.wantErr { + t.Errorf("sheetParser.Parse() error = %v, wantErr %v", err, tt.wantErr) + } + if err != nil { + require.ErrorIs(t, err, tt.err) + } + }) + } +} diff --git a/proto/tableau/protobuf/unittest/unittest.proto b/proto/tableau/protobuf/unittest/unittest.proto index 93f3d786..d1577a18 100644 --- a/proto/tableau/protobuf/unittest/unittest.proto +++ b/proto/tableau/protobuf/unittest/unittest.proto @@ -283,4 +283,26 @@ message Transpose { int32 id = 1 [(tableau.field) = {name:"ID"}]; string name = 2 [(tableau.field) = {name:"Name"}]; } +} + +message FieldPresentMap { + option (tableau.worksheet) = {name:"FieldPresentMap"}; + + map player_map = 1 [(tableau.field) = {key:"ID" layout:LAYOUT_VERTICAL}]; + message Player { + int32 id = 1 [(tableau.field) = {name:"ID"}]; + Weapon weapon = 2 [(tableau.field) = {name:"Weapon" prop:{present:true}}]; + message Weapon { + string name = 1 [(tableau.field) = {name:"Name" prop:{present:true}}]; + int32 rarity = 2 [(tableau.field) = {name:"Rarity"}]; + } + Info info = 3 [(tableau.field) = {name:"Info" span:SPAN_INNER_CELL prop:{present:true}}]; + message Info { + int32 level = 1 [(tableau.field) = {name:"Level"}]; + int32 exp = 2 [(tableau.field) = {name:"Exp"}]; + } + repeated int32 hero_list = 4 [(tableau.field) = {name:"Hero" layout:LAYOUT_INCELL prop:{present:true}}]; + map attr_map = 5 [(tableau.field) = {name:"Attr" layout:LAYOUT_INCELL prop:{present:true}}]; + unittest.Target target = 6 [(tableau.field) = {name:"Target" span:SPAN_INNER_CELL prop:{form:FORM_TEXT present:true}}]; + } } \ No newline at end of file diff --git a/proto/tableaupb/unittestpb/unittest.pb.go b/proto/tableaupb/unittestpb/unittest.pb.go index c5f32a7e..6a3a910b 100644 --- a/proto/tableaupb/unittestpb/unittest.pb.go +++ b/proto/tableaupb/unittestpb/unittest.pb.go @@ -1213,6 +1213,53 @@ func (x *Transpose) GetHeroMap() map[int32]*Transpose_Hero { return nil } +type FieldPresentMap struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerMap map[int32]*FieldPresentMap_Player `protobuf:"bytes,1,rep,name=player_map,json=playerMap,proto3" json:"player_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *FieldPresentMap) Reset() { + *x = FieldPresentMap{} + if protoimpl.UnsafeEnabled { + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldPresentMap) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldPresentMap) ProtoMessage() {} + +func (x *FieldPresentMap) ProtoReflect() protoreflect.Message { + mi := &file_tableau_protobuf_unittest_unittest_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 FieldPresentMap.ProtoReflect.Descriptor instead. +func (*FieldPresentMap) Descriptor() ([]byte, []int) { + return file_tableau_protobuf_unittest_unittest_proto_rawDescGZIP(), []int{21} +} + +func (x *FieldPresentMap) GetPlayerMap() map[int32]*FieldPresentMap_Player { + if x != nil { + return x.PlayerMap + } + return nil +} + type IncellMap_Fruit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1225,7 +1272,7 @@ type IncellMap_Fruit struct { func (x *IncellMap_Fruit) Reset() { *x = IncellMap_Fruit{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[23] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1238,7 +1285,7 @@ func (x *IncellMap_Fruit) String() string { func (*IncellMap_Fruit) ProtoMessage() {} func (x *IncellMap_Fruit) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[23] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1280,7 +1327,7 @@ type IncellMap_Item struct { func (x *IncellMap_Item) Reset() { *x = IncellMap_Item{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[26] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1293,7 +1340,7 @@ func (x *IncellMap_Item) String() string { func (*IncellMap_Item) ProtoMessage() {} func (x *IncellMap_Item) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[26] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1335,7 +1382,7 @@ type MallConf_Shop struct { func (x *MallConf_Shop) Reset() { *x = MallConf_Shop{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[29] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1348,7 +1395,7 @@ func (x *MallConf_Shop) String() string { func (*MallConf_Shop) ProtoMessage() {} func (x *MallConf_Shop) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[29] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1390,7 +1437,7 @@ type MallConf_Shop_Goods struct { func (x *MallConf_Shop_Goods) Reset() { *x = MallConf_Shop_Goods{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[31] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1403,7 +1450,7 @@ func (x *MallConf_Shop_Goods) String() string { func (*MallConf_Shop_Goods) ProtoMessage() {} func (x *MallConf_Shop_Goods) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[31] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1445,7 +1492,7 @@ type RewardConf_Reward struct { func (x *RewardConf_Reward) Reset() { *x = RewardConf_Reward{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[33] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1458,7 +1505,7 @@ func (x *RewardConf_Reward) String() string { func (*RewardConf_Reward) ProtoMessage() {} func (x *RewardConf_Reward) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[33] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1500,7 +1547,7 @@ type PatchMergeConf_Time struct { func (x *PatchMergeConf_Time) Reset() { *x = PatchMergeConf_Time{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[35] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1513,7 +1560,7 @@ func (x *PatchMergeConf_Time) String() string { func (*PatchMergeConf_Time) ProtoMessage() {} func (x *PatchMergeConf_Time) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[35] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1555,7 +1602,7 @@ type RecursivePatchConf_Shop struct { func (x *RecursivePatchConf_Shop) Reset() { *x = RecursivePatchConf_Shop{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[39] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1568,7 +1615,7 @@ func (x *RecursivePatchConf_Shop) String() string { func (*RecursivePatchConf_Shop) ProtoMessage() {} func (x *RecursivePatchConf_Shop) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[39] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1613,7 +1660,7 @@ type RecursivePatchConf_Shop_Goods struct { func (x *RecursivePatchConf_Shop_Goods) Reset() { *x = RecursivePatchConf_Shop_Goods{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[41] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1626,7 +1673,7 @@ func (x *RecursivePatchConf_Shop_Goods) String() string { func (*RecursivePatchConf_Shop_Goods) ProtoMessage() {} func (x *RecursivePatchConf_Shop_Goods) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[41] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1691,7 +1738,7 @@ type RecursivePatchConf_Shop_Goods_Currency struct { func (x *RecursivePatchConf_Shop_Goods_Currency) Reset() { *x = RecursivePatchConf_Shop_Goods_Currency{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[43] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1704,7 +1751,7 @@ func (x *RecursivePatchConf_Shop_Goods_Currency) String() string { func (*RecursivePatchConf_Shop_Goods_Currency) ProtoMessage() {} func (x *RecursivePatchConf_Shop_Goods_Currency) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[43] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1760,7 +1807,7 @@ type RecursivePatchConf_Shop_Goods_Award struct { func (x *RecursivePatchConf_Shop_Goods_Award) Reset() { *x = RecursivePatchConf_Shop_Goods_Award{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[44] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1773,7 +1820,7 @@ func (x *RecursivePatchConf_Shop_Goods_Award) String() string { func (*RecursivePatchConf_Shop_Goods_Award) ProtoMessage() {} func (x *RecursivePatchConf_Shop_Goods_Award) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[44] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1816,7 +1863,7 @@ type UniqueFieldInVerticalStructList_Item struct { func (x *UniqueFieldInVerticalStructList_Item) Reset() { *x = UniqueFieldInVerticalStructList_Item{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[48] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1829,7 +1876,7 @@ func (x *UniqueFieldInVerticalStructList_Item) String() string { func (*UniqueFieldInVerticalStructList_Item) ProtoMessage() {} func (x *UniqueFieldInVerticalStructList_Item) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[48] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1880,7 +1927,7 @@ type VerticalUniqueFieldStructMap_Main struct { func (x *VerticalUniqueFieldStructMap_Main) Reset() { *x = VerticalUniqueFieldStructMap_Main{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[50] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1893,7 +1940,7 @@ func (x *VerticalUniqueFieldStructMap_Main) String() string { func (*VerticalUniqueFieldStructMap_Main) ProtoMessage() {} func (x *VerticalUniqueFieldStructMap_Main) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[50] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1949,7 +1996,7 @@ type VerticalUniqueFieldStructMap_Main_Sub struct { func (x *VerticalUniqueFieldStructMap_Main_Sub) Reset() { *x = VerticalUniqueFieldStructMap_Main_Sub{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[53] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1962,7 +2009,7 @@ func (x *VerticalUniqueFieldStructMap_Main_Sub) String() string { func (*VerticalUniqueFieldStructMap_Main_Sub) ProtoMessage() {} func (x *VerticalUniqueFieldStructMap_Main_Sub) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[53] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2005,7 +2052,7 @@ type DocumentUniqueFieldStructList_Item struct { func (x *DocumentUniqueFieldStructList_Item) Reset() { *x = DocumentUniqueFieldStructList_Item{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[54] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2018,7 +2065,7 @@ func (x *DocumentUniqueFieldStructList_Item) String() string { func (*DocumentUniqueFieldStructList_Item) ProtoMessage() {} func (x *DocumentUniqueFieldStructList_Item) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[54] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2068,7 +2115,7 @@ type DocumentUniqueFieldStructMap_Chapter struct { func (x *DocumentUniqueFieldStructMap_Chapter) Reset() { *x = DocumentUniqueFieldStructMap_Chapter{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[56] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2081,7 +2128,7 @@ func (x *DocumentUniqueFieldStructMap_Chapter) String() string { func (*DocumentUniqueFieldStructMap_Chapter) ProtoMessage() {} func (x *DocumentUniqueFieldStructMap_Chapter) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[56] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2131,7 +2178,7 @@ type DocumentUniqueFieldStructMap_ChapterInfo struct { func (x *DocumentUniqueFieldStructMap_ChapterInfo) Reset() { *x = DocumentUniqueFieldStructMap_ChapterInfo{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[60] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2144,7 +2191,7 @@ func (x *DocumentUniqueFieldStructMap_ChapterInfo) String() string { func (*DocumentUniqueFieldStructMap_ChapterInfo) ProtoMessage() {} func (x *DocumentUniqueFieldStructMap_ChapterInfo) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[60] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2193,7 +2240,7 @@ type DocumentUniqueFieldStructMap_Chapter_Section struct { func (x *DocumentUniqueFieldStructMap_Chapter_Section) Reset() { *x = DocumentUniqueFieldStructMap_Chapter_Section{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[62] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2206,7 +2253,7 @@ func (x *DocumentUniqueFieldStructMap_Chapter_Section) String() string { func (*DocumentUniqueFieldStructMap_Chapter_Section) ProtoMessage() {} func (x *DocumentUniqueFieldStructMap_Chapter_Section) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[62] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2249,7 +2296,7 @@ type DocumentUniqueFieldStructMap_ChapterInfo_Section struct { func (x *DocumentUniqueFieldStructMap_ChapterInfo_Section) Reset() { *x = DocumentUniqueFieldStructMap_ChapterInfo_Section{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[64] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2262,7 +2309,7 @@ func (x *DocumentUniqueFieldStructMap_ChapterInfo_Section) String() string { func (*DocumentUniqueFieldStructMap_ChapterInfo_Section) ProtoMessage() {} func (x *DocumentUniqueFieldStructMap_ChapterInfo_Section) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[64] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2312,7 +2359,7 @@ type DocumentUniqueFieldStructMap_ChapterInfo_Section_Section struct { func (x *DocumentUniqueFieldStructMap_ChapterInfo_Section_Section) Reset() { *x = DocumentUniqueFieldStructMap_ChapterInfo_Section_Section{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[66] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2325,7 +2372,7 @@ func (x *DocumentUniqueFieldStructMap_ChapterInfo_Section_Section) String() stri func (*DocumentUniqueFieldStructMap_ChapterInfo_Section_Section) ProtoMessage() {} func (x *DocumentUniqueFieldStructMap_ChapterInfo_Section_Section) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[66] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2374,7 +2421,7 @@ type DocumentUniqueFieldStructMap_ChapterInfo_Section_Section_Section struct { func (x *DocumentUniqueFieldStructMap_ChapterInfo_Section_Section_Section) Reset() { *x = DocumentUniqueFieldStructMap_ChapterInfo_Section_Section_Section{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[68] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2387,7 +2434,7 @@ func (x *DocumentUniqueFieldStructMap_ChapterInfo_Section_Section_Section) Strin func (*DocumentUniqueFieldStructMap_ChapterInfo_Section_Section_Section) ProtoMessage() {} func (x *DocumentUniqueFieldStructMap_ChapterInfo_Section_Section_Section) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[68] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2430,7 +2477,7 @@ type SequenceFieldInVerticalStructList_Item struct { func (x *SequenceFieldInVerticalStructList_Item) Reset() { *x = SequenceFieldInVerticalStructList_Item{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[69] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2443,7 +2490,7 @@ func (x *SequenceFieldInVerticalStructList_Item) String() string { func (*SequenceFieldInVerticalStructList_Item) ProtoMessage() {} func (x *SequenceFieldInVerticalStructList_Item) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[69] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2492,7 +2539,7 @@ type SequenceKeyInVerticalKeyedList_Item struct { func (x *SequenceKeyInVerticalKeyedList_Item) Reset() { *x = SequenceKeyInVerticalKeyedList_Item{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[70] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2505,7 +2552,7 @@ func (x *SequenceKeyInVerticalKeyedList_Item) String() string { func (*SequenceKeyInVerticalKeyedList_Item) ProtoMessage() {} func (x *SequenceKeyInVerticalKeyedList_Item) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[70] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2547,7 +2594,7 @@ type SequenceKeyInVerticalKeyedList_Item_Prop struct { func (x *SequenceKeyInVerticalKeyedList_Item_Prop) Reset() { *x = SequenceKeyInVerticalKeyedList_Item_Prop{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[72] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2560,7 +2607,7 @@ func (x *SequenceKeyInVerticalKeyedList_Item_Prop) String() string { func (*SequenceKeyInVerticalKeyedList_Item_Prop) ProtoMessage() {} func (x *SequenceKeyInVerticalKeyedList_Item_Prop) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[72] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2602,7 +2649,7 @@ type VerticalSequenceFieldStructMap_Main struct { func (x *VerticalSequenceFieldStructMap_Main) Reset() { *x = VerticalSequenceFieldStructMap_Main{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[74] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2615,7 +2662,7 @@ func (x *VerticalSequenceFieldStructMap_Main) String() string { func (*VerticalSequenceFieldStructMap_Main) ProtoMessage() {} func (x *VerticalSequenceFieldStructMap_Main) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[74] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2657,7 +2704,7 @@ type VerticalSequenceFieldStructMap_Main_Sub struct { func (x *VerticalSequenceFieldStructMap_Main_Sub) Reset() { *x = VerticalSequenceFieldStructMap_Main_Sub{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[76] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2670,7 +2717,7 @@ func (x *VerticalSequenceFieldStructMap_Main_Sub) String() string { func (*VerticalSequenceFieldStructMap_Main_Sub) ProtoMessage() {} func (x *VerticalSequenceFieldStructMap_Main_Sub) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[76] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2713,7 +2760,7 @@ type DocumentSequenceFieldStructList_Item struct { func (x *DocumentSequenceFieldStructList_Item) Reset() { *x = DocumentSequenceFieldStructList_Item{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[77] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2726,7 +2773,7 @@ func (x *DocumentSequenceFieldStructList_Item) String() string { func (*DocumentSequenceFieldStructList_Item) ProtoMessage() {} func (x *DocumentSequenceFieldStructList_Item) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[77] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2775,7 +2822,7 @@ type Transpose_Hero struct { func (x *Transpose_Hero) Reset() { *x = Transpose_Hero{} if protoimpl.UnsafeEnabled { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[79] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2788,7 +2835,7 @@ func (x *Transpose_Hero) String() string { func (*Transpose_Hero) ProtoMessage() {} func (x *Transpose_Hero) ProtoReflect() protoreflect.Message { - mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[79] + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2818,6 +2865,203 @@ func (x *Transpose_Hero) GetName() string { return "" } +type FieldPresentMap_Player struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Weapon *FieldPresentMap_Player_Weapon `protobuf:"bytes,2,opt,name=weapon,proto3" json:"weapon,omitempty"` + Info *FieldPresentMap_Player_Info `protobuf:"bytes,3,opt,name=info,proto3" json:"info,omitempty"` + HeroList []int32 `protobuf:"varint,4,rep,packed,name=hero_list,json=heroList,proto3" json:"hero_list,omitempty"` + AttrMap map[string]int32 `protobuf:"bytes,5,rep,name=attr_map,json=attrMap,proto3" json:"attr_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Target *Target `protobuf:"bytes,6,opt,name=target,proto3" json:"target,omitempty"` +} + +func (x *FieldPresentMap_Player) Reset() { + *x = FieldPresentMap_Player{} + if protoimpl.UnsafeEnabled { + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldPresentMap_Player) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldPresentMap_Player) ProtoMessage() {} + +func (x *FieldPresentMap_Player) ProtoReflect() protoreflect.Message { + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[82] + 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 FieldPresentMap_Player.ProtoReflect.Descriptor instead. +func (*FieldPresentMap_Player) Descriptor() ([]byte, []int) { + return file_tableau_protobuf_unittest_unittest_proto_rawDescGZIP(), []int{21, 1} +} + +func (x *FieldPresentMap_Player) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *FieldPresentMap_Player) GetWeapon() *FieldPresentMap_Player_Weapon { + if x != nil { + return x.Weapon + } + return nil +} + +func (x *FieldPresentMap_Player) GetInfo() *FieldPresentMap_Player_Info { + if x != nil { + return x.Info + } + return nil +} + +func (x *FieldPresentMap_Player) GetHeroList() []int32 { + if x != nil { + return x.HeroList + } + return nil +} + +func (x *FieldPresentMap_Player) GetAttrMap() map[string]int32 { + if x != nil { + return x.AttrMap + } + return nil +} + +func (x *FieldPresentMap_Player) GetTarget() *Target { + if x != nil { + return x.Target + } + return nil +} + +type FieldPresentMap_Player_Weapon struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Rarity int32 `protobuf:"varint,2,opt,name=rarity,proto3" json:"rarity,omitempty"` +} + +func (x *FieldPresentMap_Player_Weapon) Reset() { + *x = FieldPresentMap_Player_Weapon{} + if protoimpl.UnsafeEnabled { + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldPresentMap_Player_Weapon) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldPresentMap_Player_Weapon) ProtoMessage() {} + +func (x *FieldPresentMap_Player_Weapon) ProtoReflect() protoreflect.Message { + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[83] + 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 FieldPresentMap_Player_Weapon.ProtoReflect.Descriptor instead. +func (*FieldPresentMap_Player_Weapon) Descriptor() ([]byte, []int) { + return file_tableau_protobuf_unittest_unittest_proto_rawDescGZIP(), []int{21, 1, 0} +} + +func (x *FieldPresentMap_Player_Weapon) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FieldPresentMap_Player_Weapon) GetRarity() int32 { + if x != nil { + return x.Rarity + } + return 0 +} + +type FieldPresentMap_Player_Info struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Level int32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"` + Exp int32 `protobuf:"varint,2,opt,name=exp,proto3" json:"exp,omitempty"` +} + +func (x *FieldPresentMap_Player_Info) Reset() { + *x = FieldPresentMap_Player_Info{} + if protoimpl.UnsafeEnabled { + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldPresentMap_Player_Info) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldPresentMap_Player_Info) ProtoMessage() {} + +func (x *FieldPresentMap_Player_Info) ProtoReflect() protoreflect.Message { + mi := &file_tableau_protobuf_unittest_unittest_proto_msgTypes[84] + 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 FieldPresentMap_Player_Info.ProtoReflect.Descriptor instead. +func (*FieldPresentMap_Player_Info) Descriptor() ([]byte, []int) { + return file_tableau_protobuf_unittest_unittest_proto_rawDescGZIP(), []int{21, 1, 1} +} + +func (x *FieldPresentMap_Player_Info) GetLevel() int32 { + if x != nil { + return x.Level + } + return 0 +} + +func (x *FieldPresentMap_Player_Info) GetExp() int32 { + if x != nil { + return x.Exp + } + return 0 +} + var File_tableau_protobuf_unittest_unittest_proto protoreflect.FileDescriptor var file_tableau_protobuf_unittest_unittest_proto_rawDesc = []byte{ @@ -3527,13 +3771,65 @@ var file_tableau_protobuf_unittest_unittest_proto_rawDesc = []byte{ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0x82, 0xb5, 0x18, 0x06, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x11, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x65, 0x60, - 0x01, 0x42, 0x56, 0x82, 0xb5, 0x18, 0x19, 0x0a, 0x17, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x2f, 0x55, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x23, 0x2a, 0x2e, 0x63, 0x73, 0x76, - 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x61, 0x75, 0x69, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x75, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x75, 0x70, 0x62, 0x2f, 0x75, - 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x01, 0x22, 0xc5, 0x06, 0x0a, 0x0f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, + 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x75, 0x6e, 0x69, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x0a, 0x82, 0xb5, 0x18, 0x06, 0x1a, 0x02, 0x49, 0x44, 0x20, 0x01, 0x52, + 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x1a, 0x5e, 0x0a, 0x0e, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xe5, 0x04, 0x0a, 0x06, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x08, 0x82, 0xb5, 0x18, 0x04, 0x0a, 0x02, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x51, 0x0a, 0x06, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x42, 0x10, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x06, + 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x7a, 0x02, 0x50, 0x01, 0x52, 0x06, 0x77, 0x65, 0x61, 0x70, + 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x10, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x04, 0x49, + 0x6e, 0x66, 0x6f, 0x28, 0x02, 0x7a, 0x02, 0x50, 0x01, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, + 0x2d, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x05, 0x42, 0x10, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x04, 0x48, 0x65, 0x72, 0x6f, 0x20, 0x03, + 0x7a, 0x02, 0x50, 0x01, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5a, + 0x0a, 0x08, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, + 0x10, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x04, 0x41, 0x74, 0x74, 0x72, 0x20, 0x03, 0x7a, 0x02, 0x50, + 0x01, 0x52, 0x07, 0x61, 0x74, 0x74, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x6e, 0x69, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x14, 0x82, 0xb5, + 0x18, 0x10, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x28, 0x02, 0x7a, 0x04, 0x40, 0x01, + 0x50, 0x01, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x52, 0x0a, 0x06, 0x57, 0x65, + 0x61, 0x70, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0e, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x7a, 0x02, + 0x50, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0c, 0x82, 0xb5, 0x18, 0x08, 0x0a, 0x06, + 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x1a, 0x46, + 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0b, 0x82, 0xb5, 0x18, 0x07, 0x0a, 0x05, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x03, 0x65, 0x78, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x09, 0x82, 0xb5, 0x18, 0x05, 0x0a, 0x03, 0x45, 0x78, + 0x70, 0x52, 0x03, 0x65, 0x78, 0x70, 0x1a, 0x3a, 0x0a, 0x0c, 0x41, 0x74, 0x74, 0x72, 0x4d, 0x61, + 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 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, 0x3a, 0x15, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x42, 0x56, 0x82, 0xb5, 0x18, 0x19, 0x0a, + 0x17, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x55, 0x6e, 0x69, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x23, 0x2a, 0x2e, 0x63, 0x73, 0x76, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x75, 0x69, 0x6f, 0x2f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x61, 0x75, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x61, 0x75, 0x70, 0x62, 0x2f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3548,7 +3844,7 @@ func file_tableau_protobuf_unittest_unittest_proto_rawDescGZIP() []byte { return file_tableau_protobuf_unittest_unittest_proto_rawDescData } -var file_tableau_protobuf_unittest_unittest_proto_msgTypes = make([]protoimpl.MessageInfo, 80) +var file_tableau_protobuf_unittest_unittest_proto_msgTypes = make([]protoimpl.MessageInfo, 86) var file_tableau_protobuf_unittest_unittest_proto_goTypes = []interface{}{ (*SimpleIncellMap)(nil), // 0: unittest.SimpleIncellMap (*IncellMap)(nil), // 1: unittest.IncellMap @@ -3571,152 +3867,165 @@ var file_tableau_protobuf_unittest_unittest_proto_goTypes = []interface{}{ (*VerticalSequenceFieldStructMap)(nil), // 18: unittest.VerticalSequenceFieldStructMap (*DocumentSequenceFieldStructList)(nil), // 19: unittest.DocumentSequenceFieldStructList (*Transpose)(nil), // 20: unittest.Transpose - nil, // 21: unittest.SimpleIncellMap.ItemMapEntry - nil, // 22: unittest.IncellMap.FruitMapEntry - (*IncellMap_Fruit)(nil), // 23: unittest.IncellMap.Fruit - nil, // 24: unittest.IncellMap.FlavorMapEntry - nil, // 25: unittest.IncellMap.ItemMapEntry - (*IncellMap_Item)(nil), // 26: unittest.IncellMap.Item - nil, // 27: unittest.ItemConf.ItemMapEntry - nil, // 28: unittest.MallConf.ShopMapEntry - (*MallConf_Shop)(nil), // 29: unittest.MallConf.Shop - nil, // 30: unittest.MallConf.Shop.GoodsMapEntry - (*MallConf_Shop_Goods)(nil), // 31: unittest.MallConf.Shop.Goods - nil, // 32: unittest.RewardConf.RewardMapEntry - (*RewardConf_Reward)(nil), // 33: unittest.RewardConf.Reward - nil, // 34: unittest.RewardConf.Reward.ItemMapEntry - (*PatchMergeConf_Time)(nil), // 35: unittest.PatchMergeConf.Time - nil, // 36: unittest.PatchMergeConf.ItemMapEntry - nil, // 37: unittest.PatchMergeConf.ReplaceItemMapEntry - nil, // 38: unittest.RecursivePatchConf.ShopMapEntry - (*RecursivePatchConf_Shop)(nil), // 39: unittest.RecursivePatchConf.Shop - nil, // 40: unittest.RecursivePatchConf.Shop.GoodsMapEntry - (*RecursivePatchConf_Shop_Goods)(nil), // 41: unittest.RecursivePatchConf.Shop.Goods - nil, // 42: unittest.RecursivePatchConf.Shop.Goods.CurrencyMapEntry - (*RecursivePatchConf_Shop_Goods_Currency)(nil), // 43: unittest.RecursivePatchConf.Shop.Goods.Currency - (*RecursivePatchConf_Shop_Goods_Award)(nil), // 44: unittest.RecursivePatchConf.Shop.Goods.Award - nil, // 45: unittest.RecursivePatchConf.Shop.Goods.Currency.ValueListEntry - nil, // 46: unittest.RecursivePatchConf.Shop.Goods.Currency.MessageListEntry - nil, // 47: unittest.JsonUtilTestData.MapFieldEntry - (*UniqueFieldInVerticalStructList_Item)(nil), // 48: unittest.UniqueFieldInVerticalStructList.Item - nil, // 49: unittest.VerticalUniqueFieldStructMap.MainMapEntry - (*VerticalUniqueFieldStructMap_Main)(nil), // 50: unittest.VerticalUniqueFieldStructMap.Main - nil, // 51: unittest.VerticalUniqueFieldStructMap.Main.MainKvMapEntry - nil, // 52: unittest.VerticalUniqueFieldStructMap.Main.SubMapEntry - (*VerticalUniqueFieldStructMap_Main_Sub)(nil), // 53: unittest.VerticalUniqueFieldStructMap.Main.Sub - (*DocumentUniqueFieldStructList_Item)(nil), // 54: unittest.DocumentUniqueFieldStructList.Item - nil, // 55: unittest.DocumentUniqueFieldStructMap.ChapterEntry - (*DocumentUniqueFieldStructMap_Chapter)(nil), // 56: unittest.DocumentUniqueFieldStructMap.Chapter - nil, // 57: unittest.DocumentUniqueFieldStructMap.ScalarMapEntry - nil, // 58: unittest.DocumentUniqueFieldStructMap.IncellMapEntry - nil, // 59: unittest.DocumentUniqueFieldStructMap.ChapterInfoEntry - (*DocumentUniqueFieldStructMap_ChapterInfo)(nil), // 60: unittest.DocumentUniqueFieldStructMap.ChapterInfo - nil, // 61: unittest.DocumentUniqueFieldStructMap.Chapter.SectionEntry - (*DocumentUniqueFieldStructMap_Chapter_Section)(nil), // 62: unittest.DocumentUniqueFieldStructMap.Chapter.Section - nil, // 63: unittest.DocumentUniqueFieldStructMap.ChapterInfo.SectionEntry - (*DocumentUniqueFieldStructMap_ChapterInfo_Section)(nil), // 64: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section - nil, // 65: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.SectionEntry - (*DocumentUniqueFieldStructMap_ChapterInfo_Section_Section)(nil), // 66: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section - nil, // 67: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.SectionEntry - (*DocumentUniqueFieldStructMap_ChapterInfo_Section_Section_Section)(nil), // 68: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.Section - (*SequenceFieldInVerticalStructList_Item)(nil), // 69: unittest.SequenceFieldInVerticalStructList.Item - (*SequenceKeyInVerticalKeyedList_Item)(nil), // 70: unittest.SequenceKeyInVerticalKeyedList.Item - nil, // 71: unittest.SequenceKeyInVerticalKeyedList.Item.PropMapEntry - (*SequenceKeyInVerticalKeyedList_Item_Prop)(nil), // 72: unittest.SequenceKeyInVerticalKeyedList.Item.Prop - nil, // 73: unittest.VerticalSequenceFieldStructMap.MainMapEntry - (*VerticalSequenceFieldStructMap_Main)(nil), // 74: unittest.VerticalSequenceFieldStructMap.Main - nil, // 75: unittest.VerticalSequenceFieldStructMap.Main.SubMapEntry - (*VerticalSequenceFieldStructMap_Main_Sub)(nil), // 76: unittest.VerticalSequenceFieldStructMap.Main.Sub - (*DocumentSequenceFieldStructList_Item)(nil), // 77: unittest.DocumentSequenceFieldStructList.Item - nil, // 78: unittest.Transpose.HeroMapEntry - (*Transpose_Hero)(nil), // 79: unittest.Transpose.Hero - (*Item)(nil), // 80: unittest.Item - (FruitFlavor)(0), // 81: unittest.FruitFlavor - (FruitType)(0), // 82: unittest.FruitType - (*timestamppb.Timestamp)(nil), // 83: google.protobuf.Timestamp - (*durationpb.Duration)(nil), // 84: google.protobuf.Duration + (*FieldPresentMap)(nil), // 21: unittest.FieldPresentMap + nil, // 22: unittest.SimpleIncellMap.ItemMapEntry + nil, // 23: unittest.IncellMap.FruitMapEntry + (*IncellMap_Fruit)(nil), // 24: unittest.IncellMap.Fruit + nil, // 25: unittest.IncellMap.FlavorMapEntry + nil, // 26: unittest.IncellMap.ItemMapEntry + (*IncellMap_Item)(nil), // 27: unittest.IncellMap.Item + nil, // 28: unittest.ItemConf.ItemMapEntry + nil, // 29: unittest.MallConf.ShopMapEntry + (*MallConf_Shop)(nil), // 30: unittest.MallConf.Shop + nil, // 31: unittest.MallConf.Shop.GoodsMapEntry + (*MallConf_Shop_Goods)(nil), // 32: unittest.MallConf.Shop.Goods + nil, // 33: unittest.RewardConf.RewardMapEntry + (*RewardConf_Reward)(nil), // 34: unittest.RewardConf.Reward + nil, // 35: unittest.RewardConf.Reward.ItemMapEntry + (*PatchMergeConf_Time)(nil), // 36: unittest.PatchMergeConf.Time + nil, // 37: unittest.PatchMergeConf.ItemMapEntry + nil, // 38: unittest.PatchMergeConf.ReplaceItemMapEntry + nil, // 39: unittest.RecursivePatchConf.ShopMapEntry + (*RecursivePatchConf_Shop)(nil), // 40: unittest.RecursivePatchConf.Shop + nil, // 41: unittest.RecursivePatchConf.Shop.GoodsMapEntry + (*RecursivePatchConf_Shop_Goods)(nil), // 42: unittest.RecursivePatchConf.Shop.Goods + nil, // 43: unittest.RecursivePatchConf.Shop.Goods.CurrencyMapEntry + (*RecursivePatchConf_Shop_Goods_Currency)(nil), // 44: unittest.RecursivePatchConf.Shop.Goods.Currency + (*RecursivePatchConf_Shop_Goods_Award)(nil), // 45: unittest.RecursivePatchConf.Shop.Goods.Award + nil, // 46: unittest.RecursivePatchConf.Shop.Goods.Currency.ValueListEntry + nil, // 47: unittest.RecursivePatchConf.Shop.Goods.Currency.MessageListEntry + nil, // 48: unittest.JsonUtilTestData.MapFieldEntry + (*UniqueFieldInVerticalStructList_Item)(nil), // 49: unittest.UniqueFieldInVerticalStructList.Item + nil, // 50: unittest.VerticalUniqueFieldStructMap.MainMapEntry + (*VerticalUniqueFieldStructMap_Main)(nil), // 51: unittest.VerticalUniqueFieldStructMap.Main + nil, // 52: unittest.VerticalUniqueFieldStructMap.Main.MainKvMapEntry + nil, // 53: unittest.VerticalUniqueFieldStructMap.Main.SubMapEntry + (*VerticalUniqueFieldStructMap_Main_Sub)(nil), // 54: unittest.VerticalUniqueFieldStructMap.Main.Sub + (*DocumentUniqueFieldStructList_Item)(nil), // 55: unittest.DocumentUniqueFieldStructList.Item + nil, // 56: unittest.DocumentUniqueFieldStructMap.ChapterEntry + (*DocumentUniqueFieldStructMap_Chapter)(nil), // 57: unittest.DocumentUniqueFieldStructMap.Chapter + nil, // 58: unittest.DocumentUniqueFieldStructMap.ScalarMapEntry + nil, // 59: unittest.DocumentUniqueFieldStructMap.IncellMapEntry + nil, // 60: unittest.DocumentUniqueFieldStructMap.ChapterInfoEntry + (*DocumentUniqueFieldStructMap_ChapterInfo)(nil), // 61: unittest.DocumentUniqueFieldStructMap.ChapterInfo + nil, // 62: unittest.DocumentUniqueFieldStructMap.Chapter.SectionEntry + (*DocumentUniqueFieldStructMap_Chapter_Section)(nil), // 63: unittest.DocumentUniqueFieldStructMap.Chapter.Section + nil, // 64: unittest.DocumentUniqueFieldStructMap.ChapterInfo.SectionEntry + (*DocumentUniqueFieldStructMap_ChapterInfo_Section)(nil), // 65: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section + nil, // 66: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.SectionEntry + (*DocumentUniqueFieldStructMap_ChapterInfo_Section_Section)(nil), // 67: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section + nil, // 68: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.SectionEntry + (*DocumentUniqueFieldStructMap_ChapterInfo_Section_Section_Section)(nil), // 69: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.Section + (*SequenceFieldInVerticalStructList_Item)(nil), // 70: unittest.SequenceFieldInVerticalStructList.Item + (*SequenceKeyInVerticalKeyedList_Item)(nil), // 71: unittest.SequenceKeyInVerticalKeyedList.Item + nil, // 72: unittest.SequenceKeyInVerticalKeyedList.Item.PropMapEntry + (*SequenceKeyInVerticalKeyedList_Item_Prop)(nil), // 73: unittest.SequenceKeyInVerticalKeyedList.Item.Prop + nil, // 74: unittest.VerticalSequenceFieldStructMap.MainMapEntry + (*VerticalSequenceFieldStructMap_Main)(nil), // 75: unittest.VerticalSequenceFieldStructMap.Main + nil, // 76: unittest.VerticalSequenceFieldStructMap.Main.SubMapEntry + (*VerticalSequenceFieldStructMap_Main_Sub)(nil), // 77: unittest.VerticalSequenceFieldStructMap.Main.Sub + (*DocumentSequenceFieldStructList_Item)(nil), // 78: unittest.DocumentSequenceFieldStructList.Item + nil, // 79: unittest.Transpose.HeroMapEntry + (*Transpose_Hero)(nil), // 80: unittest.Transpose.Hero + nil, // 81: unittest.FieldPresentMap.PlayerMapEntry + (*FieldPresentMap_Player)(nil), // 82: unittest.FieldPresentMap.Player + (*FieldPresentMap_Player_Weapon)(nil), // 83: unittest.FieldPresentMap.Player.Weapon + (*FieldPresentMap_Player_Info)(nil), // 84: unittest.FieldPresentMap.Player.Info + nil, // 85: unittest.FieldPresentMap.Player.AttrMapEntry + (*Item)(nil), // 86: unittest.Item + (FruitFlavor)(0), // 87: unittest.FruitFlavor + (FruitType)(0), // 88: unittest.FruitType + (*timestamppb.Timestamp)(nil), // 89: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 90: google.protobuf.Duration + (*Target)(nil), // 91: unittest.Target } var file_tableau_protobuf_unittest_unittest_proto_depIdxs = []int32{ - 21, // 0: unittest.SimpleIncellMap.item_map:type_name -> unittest.SimpleIncellMap.ItemMapEntry - 22, // 1: unittest.IncellMap.fruit_map:type_name -> unittest.IncellMap.FruitMapEntry - 24, // 2: unittest.IncellMap.flavor_map:type_name -> unittest.IncellMap.FlavorMapEntry - 25, // 3: unittest.IncellMap.item_map:type_name -> unittest.IncellMap.ItemMapEntry - 80, // 4: unittest.IncellStructList.item_list:type_name -> unittest.Item - 81, // 5: unittest.IncellList.flavor_list:type_name -> unittest.FruitFlavor - 80, // 6: unittest.IncellList.item_list:type_name -> unittest.Item - 27, // 7: unittest.ItemConf.item_map:type_name -> unittest.ItemConf.ItemMapEntry - 28, // 8: unittest.MallConf.shop_map:type_name -> unittest.MallConf.ShopMapEntry - 32, // 9: unittest.RewardConf.reward_map:type_name -> unittest.RewardConf.RewardMapEntry - 35, // 10: unittest.PatchMergeConf.time:type_name -> unittest.PatchMergeConf.Time - 36, // 11: unittest.PatchMergeConf.item_map:type_name -> unittest.PatchMergeConf.ItemMapEntry - 37, // 12: unittest.PatchMergeConf.replace_item_map:type_name -> unittest.PatchMergeConf.ReplaceItemMapEntry - 38, // 13: unittest.RecursivePatchConf.shop_map:type_name -> unittest.RecursivePatchConf.ShopMapEntry + 22, // 0: unittest.SimpleIncellMap.item_map:type_name -> unittest.SimpleIncellMap.ItemMapEntry + 23, // 1: unittest.IncellMap.fruit_map:type_name -> unittest.IncellMap.FruitMapEntry + 25, // 2: unittest.IncellMap.flavor_map:type_name -> unittest.IncellMap.FlavorMapEntry + 26, // 3: unittest.IncellMap.item_map:type_name -> unittest.IncellMap.ItemMapEntry + 86, // 4: unittest.IncellStructList.item_list:type_name -> unittest.Item + 87, // 5: unittest.IncellList.flavor_list:type_name -> unittest.FruitFlavor + 86, // 6: unittest.IncellList.item_list:type_name -> unittest.Item + 28, // 7: unittest.ItemConf.item_map:type_name -> unittest.ItemConf.ItemMapEntry + 29, // 8: unittest.MallConf.shop_map:type_name -> unittest.MallConf.ShopMapEntry + 33, // 9: unittest.RewardConf.reward_map:type_name -> unittest.RewardConf.RewardMapEntry + 36, // 10: unittest.PatchMergeConf.time:type_name -> unittest.PatchMergeConf.Time + 37, // 11: unittest.PatchMergeConf.item_map:type_name -> unittest.PatchMergeConf.ItemMapEntry + 38, // 12: unittest.PatchMergeConf.replace_item_map:type_name -> unittest.PatchMergeConf.ReplaceItemMapEntry + 39, // 13: unittest.RecursivePatchConf.shop_map:type_name -> unittest.RecursivePatchConf.ShopMapEntry 9, // 14: unittest.JsonUtilTestData.normal_field:type_name -> unittest.PatchMergeConf 9, // 15: unittest.JsonUtilTestData.list_field:type_name -> unittest.PatchMergeConf - 47, // 16: unittest.JsonUtilTestData.map_field:type_name -> unittest.JsonUtilTestData.MapFieldEntry - 48, // 17: unittest.UniqueFieldInVerticalStructList.item_list:type_name -> unittest.UniqueFieldInVerticalStructList.Item - 49, // 18: unittest.VerticalUniqueFieldStructMap.main_map:type_name -> unittest.VerticalUniqueFieldStructMap.MainMapEntry - 54, // 19: unittest.DocumentUniqueFieldStructList.item_list:type_name -> unittest.DocumentUniqueFieldStructList.Item - 55, // 20: unittest.DocumentUniqueFieldStructMap.chapter:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterEntry - 57, // 21: unittest.DocumentUniqueFieldStructMap.scalar_map:type_name -> unittest.DocumentUniqueFieldStructMap.ScalarMapEntry - 58, // 22: unittest.DocumentUniqueFieldStructMap.incell_map:type_name -> unittest.DocumentUniqueFieldStructMap.IncellMapEntry - 59, // 23: unittest.DocumentUniqueFieldStructMap.chapter_info:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfoEntry - 69, // 24: unittest.SequenceFieldInVerticalStructList.item_list:type_name -> unittest.SequenceFieldInVerticalStructList.Item - 70, // 25: unittest.SequenceKeyInVerticalKeyedList.item_list:type_name -> unittest.SequenceKeyInVerticalKeyedList.Item - 73, // 26: unittest.VerticalSequenceFieldStructMap.main_map:type_name -> unittest.VerticalSequenceFieldStructMap.MainMapEntry - 77, // 27: unittest.DocumentSequenceFieldStructList.item_list:type_name -> unittest.DocumentSequenceFieldStructList.Item - 78, // 28: unittest.Transpose.hero_map:type_name -> unittest.Transpose.HeroMapEntry - 23, // 29: unittest.IncellMap.FruitMapEntry.value:type_name -> unittest.IncellMap.Fruit - 82, // 30: unittest.IncellMap.Fruit.key:type_name -> unittest.FruitType - 81, // 31: unittest.IncellMap.FlavorMapEntry.value:type_name -> unittest.FruitFlavor - 26, // 32: unittest.IncellMap.ItemMapEntry.value:type_name -> unittest.IncellMap.Item - 82, // 33: unittest.IncellMap.Item.key:type_name -> unittest.FruitType - 81, // 34: unittest.IncellMap.Item.value:type_name -> unittest.FruitFlavor - 80, // 35: unittest.ItemConf.ItemMapEntry.value:type_name -> unittest.Item - 29, // 36: unittest.MallConf.ShopMapEntry.value:type_name -> unittest.MallConf.Shop - 30, // 37: unittest.MallConf.Shop.goods_map:type_name -> unittest.MallConf.Shop.GoodsMapEntry - 31, // 38: unittest.MallConf.Shop.GoodsMapEntry.value:type_name -> unittest.MallConf.Shop.Goods - 33, // 39: unittest.RewardConf.RewardMapEntry.value:type_name -> unittest.RewardConf.Reward - 34, // 40: unittest.RewardConf.Reward.item_map:type_name -> unittest.RewardConf.Reward.ItemMapEntry - 80, // 41: unittest.RewardConf.Reward.ItemMapEntry.value:type_name -> unittest.Item - 83, // 42: unittest.PatchMergeConf.Time.start:type_name -> google.protobuf.Timestamp - 84, // 43: unittest.PatchMergeConf.Time.expiry:type_name -> google.protobuf.Duration - 80, // 44: unittest.PatchMergeConf.ItemMapEntry.value:type_name -> unittest.Item - 80, // 45: unittest.PatchMergeConf.ReplaceItemMapEntry.value:type_name -> unittest.Item - 39, // 46: unittest.RecursivePatchConf.ShopMapEntry.value:type_name -> unittest.RecursivePatchConf.Shop - 40, // 47: unittest.RecursivePatchConf.Shop.goods_map:type_name -> unittest.RecursivePatchConf.Shop.GoodsMapEntry - 41, // 48: unittest.RecursivePatchConf.Shop.GoodsMapEntry.value:type_name -> unittest.RecursivePatchConf.Shop.Goods - 42, // 49: unittest.RecursivePatchConf.Shop.Goods.currency_map:type_name -> unittest.RecursivePatchConf.Shop.Goods.CurrencyMapEntry - 44, // 50: unittest.RecursivePatchConf.Shop.Goods.award_list:type_name -> unittest.RecursivePatchConf.Shop.Goods.Award - 43, // 51: unittest.RecursivePatchConf.Shop.Goods.CurrencyMapEntry.value:type_name -> unittest.RecursivePatchConf.Shop.Goods.Currency - 45, // 52: unittest.RecursivePatchConf.Shop.Goods.Currency.value_list:type_name -> unittest.RecursivePatchConf.Shop.Goods.Currency.ValueListEntry - 46, // 53: unittest.RecursivePatchConf.Shop.Goods.Currency.message_list:type_name -> unittest.RecursivePatchConf.Shop.Goods.Currency.MessageListEntry - 9, // 54: unittest.JsonUtilTestData.MapFieldEntry.value:type_name -> unittest.PatchMergeConf - 50, // 55: unittest.VerticalUniqueFieldStructMap.MainMapEntry.value:type_name -> unittest.VerticalUniqueFieldStructMap.Main - 51, // 56: unittest.VerticalUniqueFieldStructMap.Main.main_kv_map:type_name -> unittest.VerticalUniqueFieldStructMap.Main.MainKvMapEntry - 52, // 57: unittest.VerticalUniqueFieldStructMap.Main.sub_map:type_name -> unittest.VerticalUniqueFieldStructMap.Main.SubMapEntry - 53, // 58: unittest.VerticalUniqueFieldStructMap.Main.SubMapEntry.value:type_name -> unittest.VerticalUniqueFieldStructMap.Main.Sub - 56, // 59: unittest.DocumentUniqueFieldStructMap.ChapterEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.Chapter - 61, // 60: unittest.DocumentUniqueFieldStructMap.Chapter.section:type_name -> unittest.DocumentUniqueFieldStructMap.Chapter.SectionEntry - 60, // 61: unittest.DocumentUniqueFieldStructMap.ChapterInfoEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo - 63, // 62: unittest.DocumentUniqueFieldStructMap.ChapterInfo.section:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.SectionEntry - 62, // 63: unittest.DocumentUniqueFieldStructMap.Chapter.SectionEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.Chapter.Section - 64, // 64: unittest.DocumentUniqueFieldStructMap.ChapterInfo.SectionEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section - 65, // 65: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.section:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.SectionEntry - 66, // 66: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.SectionEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section - 67, // 67: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.section:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.SectionEntry - 68, // 68: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.SectionEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.Section - 71, // 69: unittest.SequenceKeyInVerticalKeyedList.Item.prop_map:type_name -> unittest.SequenceKeyInVerticalKeyedList.Item.PropMapEntry - 72, // 70: unittest.SequenceKeyInVerticalKeyedList.Item.PropMapEntry.value:type_name -> unittest.SequenceKeyInVerticalKeyedList.Item.Prop - 74, // 71: unittest.VerticalSequenceFieldStructMap.MainMapEntry.value:type_name -> unittest.VerticalSequenceFieldStructMap.Main - 75, // 72: unittest.VerticalSequenceFieldStructMap.Main.sub_map:type_name -> unittest.VerticalSequenceFieldStructMap.Main.SubMapEntry - 76, // 73: unittest.VerticalSequenceFieldStructMap.Main.SubMapEntry.value:type_name -> unittest.VerticalSequenceFieldStructMap.Main.Sub - 79, // 74: unittest.Transpose.HeroMapEntry.value:type_name -> unittest.Transpose.Hero - 75, // [75:75] is the sub-list for method output_type - 75, // [75:75] is the sub-list for method input_type - 75, // [75:75] is the sub-list for extension type_name - 75, // [75:75] is the sub-list for extension extendee - 0, // [0:75] is the sub-list for field type_name + 48, // 16: unittest.JsonUtilTestData.map_field:type_name -> unittest.JsonUtilTestData.MapFieldEntry + 49, // 17: unittest.UniqueFieldInVerticalStructList.item_list:type_name -> unittest.UniqueFieldInVerticalStructList.Item + 50, // 18: unittest.VerticalUniqueFieldStructMap.main_map:type_name -> unittest.VerticalUniqueFieldStructMap.MainMapEntry + 55, // 19: unittest.DocumentUniqueFieldStructList.item_list:type_name -> unittest.DocumentUniqueFieldStructList.Item + 56, // 20: unittest.DocumentUniqueFieldStructMap.chapter:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterEntry + 58, // 21: unittest.DocumentUniqueFieldStructMap.scalar_map:type_name -> unittest.DocumentUniqueFieldStructMap.ScalarMapEntry + 59, // 22: unittest.DocumentUniqueFieldStructMap.incell_map:type_name -> unittest.DocumentUniqueFieldStructMap.IncellMapEntry + 60, // 23: unittest.DocumentUniqueFieldStructMap.chapter_info:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfoEntry + 70, // 24: unittest.SequenceFieldInVerticalStructList.item_list:type_name -> unittest.SequenceFieldInVerticalStructList.Item + 71, // 25: unittest.SequenceKeyInVerticalKeyedList.item_list:type_name -> unittest.SequenceKeyInVerticalKeyedList.Item + 74, // 26: unittest.VerticalSequenceFieldStructMap.main_map:type_name -> unittest.VerticalSequenceFieldStructMap.MainMapEntry + 78, // 27: unittest.DocumentSequenceFieldStructList.item_list:type_name -> unittest.DocumentSequenceFieldStructList.Item + 79, // 28: unittest.Transpose.hero_map:type_name -> unittest.Transpose.HeroMapEntry + 81, // 29: unittest.FieldPresentMap.player_map:type_name -> unittest.FieldPresentMap.PlayerMapEntry + 24, // 30: unittest.IncellMap.FruitMapEntry.value:type_name -> unittest.IncellMap.Fruit + 88, // 31: unittest.IncellMap.Fruit.key:type_name -> unittest.FruitType + 87, // 32: unittest.IncellMap.FlavorMapEntry.value:type_name -> unittest.FruitFlavor + 27, // 33: unittest.IncellMap.ItemMapEntry.value:type_name -> unittest.IncellMap.Item + 88, // 34: unittest.IncellMap.Item.key:type_name -> unittest.FruitType + 87, // 35: unittest.IncellMap.Item.value:type_name -> unittest.FruitFlavor + 86, // 36: unittest.ItemConf.ItemMapEntry.value:type_name -> unittest.Item + 30, // 37: unittest.MallConf.ShopMapEntry.value:type_name -> unittest.MallConf.Shop + 31, // 38: unittest.MallConf.Shop.goods_map:type_name -> unittest.MallConf.Shop.GoodsMapEntry + 32, // 39: unittest.MallConf.Shop.GoodsMapEntry.value:type_name -> unittest.MallConf.Shop.Goods + 34, // 40: unittest.RewardConf.RewardMapEntry.value:type_name -> unittest.RewardConf.Reward + 35, // 41: unittest.RewardConf.Reward.item_map:type_name -> unittest.RewardConf.Reward.ItemMapEntry + 86, // 42: unittest.RewardConf.Reward.ItemMapEntry.value:type_name -> unittest.Item + 89, // 43: unittest.PatchMergeConf.Time.start:type_name -> google.protobuf.Timestamp + 90, // 44: unittest.PatchMergeConf.Time.expiry:type_name -> google.protobuf.Duration + 86, // 45: unittest.PatchMergeConf.ItemMapEntry.value:type_name -> unittest.Item + 86, // 46: unittest.PatchMergeConf.ReplaceItemMapEntry.value:type_name -> unittest.Item + 40, // 47: unittest.RecursivePatchConf.ShopMapEntry.value:type_name -> unittest.RecursivePatchConf.Shop + 41, // 48: unittest.RecursivePatchConf.Shop.goods_map:type_name -> unittest.RecursivePatchConf.Shop.GoodsMapEntry + 42, // 49: unittest.RecursivePatchConf.Shop.GoodsMapEntry.value:type_name -> unittest.RecursivePatchConf.Shop.Goods + 43, // 50: unittest.RecursivePatchConf.Shop.Goods.currency_map:type_name -> unittest.RecursivePatchConf.Shop.Goods.CurrencyMapEntry + 45, // 51: unittest.RecursivePatchConf.Shop.Goods.award_list:type_name -> unittest.RecursivePatchConf.Shop.Goods.Award + 44, // 52: unittest.RecursivePatchConf.Shop.Goods.CurrencyMapEntry.value:type_name -> unittest.RecursivePatchConf.Shop.Goods.Currency + 46, // 53: unittest.RecursivePatchConf.Shop.Goods.Currency.value_list:type_name -> unittest.RecursivePatchConf.Shop.Goods.Currency.ValueListEntry + 47, // 54: unittest.RecursivePatchConf.Shop.Goods.Currency.message_list:type_name -> unittest.RecursivePatchConf.Shop.Goods.Currency.MessageListEntry + 9, // 55: unittest.JsonUtilTestData.MapFieldEntry.value:type_name -> unittest.PatchMergeConf + 51, // 56: unittest.VerticalUniqueFieldStructMap.MainMapEntry.value:type_name -> unittest.VerticalUniqueFieldStructMap.Main + 52, // 57: unittest.VerticalUniqueFieldStructMap.Main.main_kv_map:type_name -> unittest.VerticalUniqueFieldStructMap.Main.MainKvMapEntry + 53, // 58: unittest.VerticalUniqueFieldStructMap.Main.sub_map:type_name -> unittest.VerticalUniqueFieldStructMap.Main.SubMapEntry + 54, // 59: unittest.VerticalUniqueFieldStructMap.Main.SubMapEntry.value:type_name -> unittest.VerticalUniqueFieldStructMap.Main.Sub + 57, // 60: unittest.DocumentUniqueFieldStructMap.ChapterEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.Chapter + 62, // 61: unittest.DocumentUniqueFieldStructMap.Chapter.section:type_name -> unittest.DocumentUniqueFieldStructMap.Chapter.SectionEntry + 61, // 62: unittest.DocumentUniqueFieldStructMap.ChapterInfoEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo + 64, // 63: unittest.DocumentUniqueFieldStructMap.ChapterInfo.section:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.SectionEntry + 63, // 64: unittest.DocumentUniqueFieldStructMap.Chapter.SectionEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.Chapter.Section + 65, // 65: unittest.DocumentUniqueFieldStructMap.ChapterInfo.SectionEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section + 66, // 66: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.section:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.SectionEntry + 67, // 67: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.SectionEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section + 68, // 68: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.section:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.SectionEntry + 69, // 69: unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.SectionEntry.value:type_name -> unittest.DocumentUniqueFieldStructMap.ChapterInfo.Section.Section.Section + 72, // 70: unittest.SequenceKeyInVerticalKeyedList.Item.prop_map:type_name -> unittest.SequenceKeyInVerticalKeyedList.Item.PropMapEntry + 73, // 71: unittest.SequenceKeyInVerticalKeyedList.Item.PropMapEntry.value:type_name -> unittest.SequenceKeyInVerticalKeyedList.Item.Prop + 75, // 72: unittest.VerticalSequenceFieldStructMap.MainMapEntry.value:type_name -> unittest.VerticalSequenceFieldStructMap.Main + 76, // 73: unittest.VerticalSequenceFieldStructMap.Main.sub_map:type_name -> unittest.VerticalSequenceFieldStructMap.Main.SubMapEntry + 77, // 74: unittest.VerticalSequenceFieldStructMap.Main.SubMapEntry.value:type_name -> unittest.VerticalSequenceFieldStructMap.Main.Sub + 80, // 75: unittest.Transpose.HeroMapEntry.value:type_name -> unittest.Transpose.Hero + 82, // 76: unittest.FieldPresentMap.PlayerMapEntry.value:type_name -> unittest.FieldPresentMap.Player + 83, // 77: unittest.FieldPresentMap.Player.weapon:type_name -> unittest.FieldPresentMap.Player.Weapon + 84, // 78: unittest.FieldPresentMap.Player.info:type_name -> unittest.FieldPresentMap.Player.Info + 85, // 79: unittest.FieldPresentMap.Player.attr_map:type_name -> unittest.FieldPresentMap.Player.AttrMapEntry + 91, // 80: unittest.FieldPresentMap.Player.target:type_name -> unittest.Target + 81, // [81:81] is the sub-list for method output_type + 81, // [81:81] is the sub-list for method input_type + 81, // [81:81] is the sub-list for extension type_name + 81, // [81:81] is the sub-list for extension extendee + 0, // [0:81] is the sub-list for field type_name } func init() { file_tableau_protobuf_unittest_unittest_proto_init() } @@ -3978,7 +4287,19 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldPresentMap); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tableau_protobuf_unittest_unittest_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IncellMap_Fruit); i { case 0: return &v.state @@ -3990,7 +4311,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IncellMap_Item); i { case 0: return &v.state @@ -4002,7 +4323,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MallConf_Shop); i { case 0: return &v.state @@ -4014,7 +4335,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MallConf_Shop_Goods); i { case 0: return &v.state @@ -4026,7 +4347,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardConf_Reward); i { case 0: return &v.state @@ -4038,7 +4359,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchMergeConf_Time); i { case 0: return &v.state @@ -4050,7 +4371,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecursivePatchConf_Shop); i { case 0: return &v.state @@ -4062,7 +4383,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecursivePatchConf_Shop_Goods); i { case 0: return &v.state @@ -4074,7 +4395,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecursivePatchConf_Shop_Goods_Currency); i { case 0: return &v.state @@ -4086,7 +4407,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecursivePatchConf_Shop_Goods_Award); i { case 0: return &v.state @@ -4098,7 +4419,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UniqueFieldInVerticalStructList_Item); i { case 0: return &v.state @@ -4110,7 +4431,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerticalUniqueFieldStructMap_Main); i { case 0: return &v.state @@ -4122,7 +4443,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerticalUniqueFieldStructMap_Main_Sub); i { case 0: return &v.state @@ -4134,7 +4455,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentUniqueFieldStructList_Item); i { case 0: return &v.state @@ -4146,7 +4467,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentUniqueFieldStructMap_Chapter); i { case 0: return &v.state @@ -4158,7 +4479,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentUniqueFieldStructMap_ChapterInfo); i { case 0: return &v.state @@ -4170,7 +4491,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentUniqueFieldStructMap_Chapter_Section); i { case 0: return &v.state @@ -4182,7 +4503,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentUniqueFieldStructMap_ChapterInfo_Section); i { case 0: return &v.state @@ -4194,7 +4515,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentUniqueFieldStructMap_ChapterInfo_Section_Section); i { case 0: return &v.state @@ -4206,7 +4527,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentUniqueFieldStructMap_ChapterInfo_Section_Section_Section); i { case 0: return &v.state @@ -4218,7 +4539,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SequenceFieldInVerticalStructList_Item); i { case 0: return &v.state @@ -4230,7 +4551,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SequenceKeyInVerticalKeyedList_Item); i { case 0: return &v.state @@ -4242,7 +4563,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SequenceKeyInVerticalKeyedList_Item_Prop); i { case 0: return &v.state @@ -4254,7 +4575,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerticalSequenceFieldStructMap_Main); i { case 0: return &v.state @@ -4266,7 +4587,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerticalSequenceFieldStructMap_Main_Sub); i { case 0: return &v.state @@ -4278,7 +4599,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DocumentSequenceFieldStructList_Item); i { case 0: return &v.state @@ -4290,7 +4611,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } - file_tableau_protobuf_unittest_unittest_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_tableau_protobuf_unittest_unittest_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Transpose_Hero); i { case 0: return &v.state @@ -4302,6 +4623,42 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { return nil } } + file_tableau_protobuf_unittest_unittest_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldPresentMap_Player); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tableau_protobuf_unittest_unittest_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldPresentMap_Player_Weapon); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tableau_protobuf_unittest_unittest_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldPresentMap_Player_Info); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_tableau_protobuf_unittest_unittest_proto_msgTypes[9].OneofWrappers = []interface{}{} type x struct{} @@ -4310,7 +4667,7 @@ func file_tableau_protobuf_unittest_unittest_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tableau_protobuf_unittest_unittest_proto_rawDesc, NumEnums: 0, - NumMessages: 80, + NumMessages: 86, NumExtensions: 0, NumServices: 0, }, diff --git a/test/functest/conf/default/FieldPropPresent.json b/test/functest/conf/default/FieldPropPresent.json new file mode 100644 index 00000000..fd99ca2f --- /dev/null +++ b/test/functest/conf/default/FieldPropPresent.json @@ -0,0 +1,150 @@ +{ + "playerMap": { + "1": { + "id": 1, + "score": 100, + "timespan": { + "begin": "2020-01-01T10:25:00+08:00", + "duration": "241s" + }, + "info": { + "level": 1, + "exp": 10 + }, + "heroList": [ + 1 + ], + "attrMap": { + "hp": 10 + }, + "target": { + "type": "TYPE_PVP", + "pvp": { + "type": 1, + "damage": "10", + "types": [ + "FRUIT_TYPE_APPLE", + "FRUIT_TYPE_ORANGE", + "FRUIT_TYPE_BANANA" + ] + } + } + }, + "2": { + "id": 2, + "score": 90, + "timespan": { + "begin": "2021-01-01T10:25:00+08:00", + "duration": "181s" + }, + "info": { + "level": 2, + "exp": 20 + }, + "heroList": [ + 1, + 2 + ], + "attrMap": { + "atk": 20, + "hp": 10 + }, + "target": { + "type": "TYPE_PVE", + "pve": { + "mission": { + "id": 1, + "level": 100, + "damage": "999" + }, + "heros": [ + 1, + 2, + 3 + ], + "dungeons": { + "1": "10", + "2": "20", + "3": "30" + } + } + } + }, + "3": { + "id": 3, + "score": 90, + "timespan": { + "begin": "2022-01-01T10:25:00+08:00", + "duration": "121s" + }, + "info": { + "level": 3, + "exp": 30 + }, + "heroList": [ + 1, + 2, + 3 + ], + "attrMap": { + "atk": 20, + "def": 30, + "hp": 10 + }, + "target": { + "type": "TYPE_STORY", + "story": { + "cost": { + "id": 1001, + "num": 10 + }, + "fruits": { + "1": "FRUIT_TYPE_APPLE", + "2": "FRUIT_TYPE_ORANGE" + }, + "flavors": { + "1": { + "key": "FRUIT_FLAVOR_FRAGRANT", + "value": 1 + }, + "2": { + "key": "FRUIT_FLAVOR_SOUR", + "value": 2 + } + } + } + } + }, + "4": { + "id": 4, + "score": 90, + "timespan": { + "begin": "2023-01-01T10:25:00+08:00", + "duration": "61s" + }, + "info": { + "level": 4, + "exp": 40 + }, + "heroList": [ + 1, + 2, + 3, + 4 + ], + "attrMap": { + "atk": 20, + "crit": 40, + "def": 30, + "hp": 10 + }, + "target": { + "type": "TYPE_SKILL", + "skill": { + "id": 1, + "damage": "2" + } + } + } + } +} \ No newline at end of file diff --git a/test/functest/proto/default/excel__fieldprop__field_prop.proto b/test/functest/proto/default/excel__fieldprop__field_prop.proto index 296e15fd..54ea3caf 100644 --- a/test/functest/proto/default/excel__fieldprop__field_prop.proto +++ b/test/functest/proto/default/excel__fieldprop__field_prop.proto @@ -6,6 +6,7 @@ syntax = "proto3"; package protoconf; import "common/common.proto"; +import "common/union.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; import "tableau/protobuf/tableau.proto"; @@ -55,6 +56,29 @@ message FieldPropOrder { } } +message FieldPropPresent { + option (tableau.worksheet) = {name:"FieldPropPresent"}; + + map player_map = 1 [(tableau.field) = {key:"ID" layout:LAYOUT_VERTICAL}]; + message Player { + int32 id = 1 [(tableau.field) = {name:"ID"}]; // Player's ID + int32 score = 2 [(tableau.field) = {name:"Score"}]; // Player's Score + Timespan timespan = 3 [(tableau.field) = {name:"Timespan" prop:{present:true}}]; + message Timespan { + google.protobuf.Timestamp begin = 1 [(tableau.field) = {name:"Begin" prop:{present:true}}]; // Player's Time + google.protobuf.Duration duration = 2 [(tableau.field) = {name:"Duration"}]; // Player's duration + } + Info info = 4 [(tableau.field) = {name:"Info" span:SPAN_INNER_CELL prop:{present:true}}]; // Player's Info + message Info { + int32 level = 1 [(tableau.field) = {name:"Level"}]; + int32 exp = 2 [(tableau.field) = {name:"Exp"}]; + } + repeated int32 hero_list = 5 [(tableau.field) = {name:"Hero" layout:LAYOUT_INCELL prop:{present:true}}]; // Player's Hero list + map attr_map = 6 [(tableau.field) = {name:"Attr" layout:LAYOUT_INCELL prop:{present:true}}]; // Player's Attr map + union.Target target = 7 [(tableau.field) = {name:"Target" span:SPAN_INNER_CELL prop:{form:FORM_TEXT present:true}}]; // Player's Target + } +} + message FieldPropRange { option (tableau.worksheet) = {name:"FieldPropRange"}; diff --git a/test/functest/testdata/default/excel/fieldprop/FieldProp#FieldPropPresent.csv b/test/functest/testdata/default/excel/fieldprop/FieldProp#FieldPropPresent.csv new file mode 100644 index 00000000..57440cf2 --- /dev/null +++ b/test/functest/testdata/default/excel/fieldprop/FieldProp#FieldPropPresent.csv @@ -0,0 +1,7 @@ +ID,Score,TimespanBegin,TimespanDuration,Info,Hero,Attr,Target,#IGNORE +"map",int32,{Timespan}datetime|{present:true},duration,"{int32 Level,int32 Exp}Info|{present:true}",[]int32|{present:true},"map|{present:true}",{union.Target}|{form:FORM_TEXT present:true}, +Player's ID,Player's Score,Player's Time,Player's duration,Player's Info,Player's Hero list,Player's Attr map,Player's Target, +1,100,2020-01-01 10:25:00,4m1s,"1,10",1,hp:10,type:TYPE_PVP pvp:{type:1 damage:10 types:FRUIT_TYPE_APPLE types:FRUIT_TYPE_ORANGE types:FRUIT_TYPE_BANANA}, +2,90,2021-01-01 10:25:00,3m1s,"2,20","1,2","hp:10,atk:20",type:TYPE_PVE pve:{mission:{id:1 level:100 damage:999} heros:1 heros:2 heros:3 dungeons:{key:1 value:10} dungeons:{key:2 value:20} dungeons:{key:3 value:30}}, +3,90,2022-01-01 10:25:00,2m1s,"3,30","1,2,3","hp:10,atk:20,def:30",type:TYPE_STORY story:{cost:{id:1001 num:10} fruits:{key:1 value:FRUIT_TYPE_APPLE} fruits:{key:2 value:FRUIT_TYPE_ORANGE} flavors:{key:1 value:{key:FRUIT_FLAVOR_FRAGRANT value:1}} flavors:{key:2 value:{key:FRUIT_FLAVOR_SOUR value:2}}}, +4,90,2023-01-01 10:25:00,1m1s,"4,40","1,2,3,4","hp:10,atk:20,def:30,crit:40",type:TYPE_SKILL skill:{id:1 damage:2},