Commit 4255fd8ecca81bea17c410cb63cc78ec632a4e42
1 parent
8f83d322
feat: 更新字段
Showing
8 changed files
with
227 additions
and
55 deletions
Show diff stats
common/components/icompontents.go
1 | package components | 1 | package components |
2 | 2 | ||
3 | +import "google.golang.org/protobuf/reflect/protoreflect" | ||
4 | + | ||
3 | //----------------- | 5 | //----------------- |
4 | //----net start---- | 6 | //----net start---- |
5 | //----------------- | 7 | //----------------- |
@@ -38,7 +40,7 @@ type ( | @@ -38,7 +40,7 @@ type ( | ||
38 | GetID() uint32 | 40 | GetID() uint32 |
39 | Start() | 41 | Start() |
40 | Stop() | 42 | Stop() |
41 | - Send(code int32, cmd uint32, b []byte) error | 43 | + Send(errCode int32, cmd uint32, b []byte) error |
42 | 44 | ||
43 | SetConnectionCallback(ConnectionCallback) | 45 | SetConnectionCallback(ConnectionCallback) |
44 | SetMessageCallback(MessageCallback) | 46 | SetMessageCallback(MessageCallback) |
@@ -120,10 +122,12 @@ type ( | @@ -120,10 +122,12 @@ type ( | ||
120 | 122 | ||
121 | Load() error | 123 | Load() error |
122 | Create() error | 124 | Create() error |
125 | + Save() error | ||
123 | Update() | 126 | Update() |
124 | 127 | ||
125 | SetProperty(key string, val interface{}) | 128 | SetProperty(key string, val interface{}) |
126 | SetProperties(properties map[string]interface{}) | 129 | SetProperties(properties map[string]interface{}) |
130 | + ParseFields(message protoreflect.Message ,properties map[string]interface{}) []int32 | ||
127 | } | 131 | } |
128 | ) | 132 | ) |
129 | 133 |
common/utils.go
@@ -3,6 +3,7 @@ package common | @@ -3,6 +3,7 @@ package common | ||
3 | import ( | 3 | import ( |
4 | "crypto/md5" | 4 | "crypto/md5" |
5 | "encoding/hex" | 5 | "encoding/hex" |
6 | + "google.golang.org/protobuf/reflect/protoreflect" | ||
6 | "math/rand" | 7 | "math/rand" |
7 | "strings" | 8 | "strings" |
8 | "time" | 9 | "time" |
@@ -47,3 +48,27 @@ func RandomName(name [][]string) string { | @@ -47,3 +48,27 @@ func RandomName(name [][]string) string { | ||
47 | return builder.String() | 48 | return builder.String() |
48 | } | 49 | } |
49 | 50 | ||
51 | +//英文字符串,第一个字符大写 | ||
52 | +func FirstCharToUpper(key string) string { | ||
53 | + first := strings.ToUpper(key[0:1]) | ||
54 | + str := strings.Builder{} | ||
55 | + str.WriteString(first) | ||
56 | + str.WriteString(key[1:]) | ||
57 | + return str.String() | ||
58 | +} | ||
59 | + | ||
60 | + | ||
61 | +func ParseFields(message protoreflect.Message ,properties map[string]interface{}) []int32 { | ||
62 | + ids := make([]int32,0) | ||
63 | + for k, v := range properties { | ||
64 | + name := protoreflect.Name(strings.ToLower(k)) | ||
65 | + field := message.Descriptor().Fields().ByName(name) | ||
66 | + if field == nil { | ||
67 | + continue | ||
68 | + } | ||
69 | + | ||
70 | + ids = append(ids, int32(field.Index())) | ||
71 | + message.Set(field, protoreflect.ValueOf(v)) | ||
72 | + } | ||
73 | + return ids | ||
74 | +} | ||
50 | \ No newline at end of file | 75 | \ No newline at end of file |
common/utils_test.go
@@ -3,8 +3,6 @@ package common | @@ -3,8 +3,6 @@ package common | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | "math/rand" | 5 | "math/rand" |
6 | - "pro2d/common/db/redisproxy" | ||
7 | - "pro2d/common/logger" | ||
8 | "testing" | 6 | "testing" |
9 | ) | 7 | ) |
10 | 8 | ||
@@ -14,8 +12,9 @@ func TestRandomString(t *testing.T) { | @@ -14,8 +12,9 @@ func TestRandomString(t *testing.T) { | ||
14 | } | 12 | } |
15 | 13 | ||
16 | func TestRandomName(t *testing.T) { | 14 | func TestRandomName(t *testing.T) { |
17 | - if err := redisproxy.ConnectRedis(GlobalConf.GameConf.RedisConf.DB, GlobalConf.GameConf.RedisConf.Auth, GlobalConf.GameConf.RedisConf.Address); err != nil { | ||
18 | - logger.Error(err) | ||
19 | - return | ||
20 | - } | 15 | + //if err := redisproxy.ConnectRedis(GlobalConf.GameConf.RedisConf.DB, GlobalConf.GameConf.RedisConf.Auth, GlobalConf.GameConf.RedisConf.Address); err != nil { |
16 | + // logger.Error(err) | ||
17 | + // return | ||
18 | + //} | ||
19 | + fmt.Println(FirstCharToUpper("name")) | ||
21 | } | 20 | } |
models/role.go
1 | package models | 1 | package models |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "github.com/golang/protobuf/proto" | ||
4 | "pro2d/common" | 5 | "pro2d/common" |
5 | "pro2d/common/components" | 6 | "pro2d/common/components" |
6 | "pro2d/common/db/mongoproxy" | 7 | "pro2d/common/db/mongoproxy" |
@@ -129,7 +130,32 @@ func (m *RoleModel) LoadAll() { | @@ -129,7 +130,32 @@ func (m *RoleModel) LoadAll() { | ||
129 | m.LoadTeams() | 130 | m.LoadTeams() |
130 | } | 131 | } |
131 | 132 | ||
132 | -func (m *RoleModel) updateProperty(property map[string]interface{}) { | 133 | +func (m *RoleModel) UpdateProperty(conn components.IConnection, key string, val interface{}, notify bool) { |
134 | + m.UpdateProperties(conn, map[string]interface{}{key:val}, notify) | ||
135 | +} | ||
136 | + | ||
137 | +func (m *RoleModel) UpdateProperties(conn components.IConnection, property map[string]interface{}, notify bool) { | ||
138 | + if len(property) < 1 { | ||
139 | + return | ||
140 | + } | ||
141 | + | ||
142 | + role := &pb.Role{} | ||
143 | + ids := m.ParseFields(role.ProtoReflect(), property) | ||
144 | + if len(ids) == 0 { | ||
145 | + logger.Error("ParseFields err, len is 0") | ||
146 | + return | ||
147 | + } | ||
148 | + | ||
149 | + update := &pb.UpdateRolePropertyRsp{ | ||
150 | + Id: ids, | ||
151 | + Role: role, | ||
152 | + } | ||
153 | + if rsp, err := proto.Marshal(update); err != nil { | ||
154 | + logger.Error("id %s, err:", m.Role.Id, err) | ||
155 | + return | ||
156 | + }else { | ||
157 | + conn.Send(0, uint32(pb.ProtoCode_UpdateRolePropertyRsp), rsp) | ||
158 | + } | ||
133 | } | 159 | } |
134 | 160 | ||
135 | func (m *RoleModel) GetAllHero() []*pb.Hero { | 161 | func (m *RoleModel) GetAllHero() []*pb.Hero { |
models/role_test.go
@@ -65,4 +65,25 @@ func TestRoleModel_AddHero(t *testing.T) { | @@ -65,4 +65,25 @@ func TestRoleModel_AddHero(t *testing.T) { | ||
65 | } | 65 | } |
66 | 66 | ||
67 | role.InitRole() | 67 | role.InitRole() |
68 | +} | ||
69 | + | ||
70 | +func TestRoleModel_ProtoReflect(t *testing.T) { | ||
71 | + err := mongoproxy.ConnectMongo(common.GlobalConf.GameConf.MongoConf) | ||
72 | + if err != nil { | ||
73 | + logger.Error(err) | ||
74 | + return | ||
75 | + } | ||
76 | + | ||
77 | + role := &pb.Role{} | ||
78 | + sch := NewSchema("", role) | ||
79 | + mp := map[string]interface{}{ | ||
80 | + "Id": "1", | ||
81 | + "Device": "12312312312", | ||
82 | + } | ||
83 | + ids := sch.ParseFields(role.ProtoReflect(), mp) | ||
84 | + if len(ids) == 0 { | ||
85 | + return | ||
86 | + } | ||
87 | + | ||
88 | + fmt.Println(role) | ||
68 | } | 89 | } |
69 | \ No newline at end of file | 90 | \ No newline at end of file |
models/schema.go
1 | package models | 1 | package models |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "google.golang.org/protobuf/reflect/protoreflect" | ||
5 | + "pro2d/common" | ||
4 | "pro2d/common/components" | 6 | "pro2d/common/components" |
5 | "pro2d/common/db/mongoproxy" | 7 | "pro2d/common/db/mongoproxy" |
6 | "pro2d/common/logger" | 8 | "pro2d/common/logger" |
@@ -21,7 +23,6 @@ type SchemaMap map[string]components.ISchema | @@ -21,7 +23,6 @@ type SchemaMap map[string]components.ISchema | ||
21 | type Schema struct { | 23 | type Schema struct { |
22 | db components.IDB | 24 | db components.IDB |
23 | reflectValue *reflect.Value | 25 | reflectValue *reflect.Value |
24 | - reflectType reflect.Type | ||
25 | 26 | ||
26 | cacheFields map[string]interface{} | 27 | cacheFields map[string]interface{} |
27 | 28 | ||
@@ -36,7 +37,6 @@ func NewSchema(key string, schema interface{}) *Schema { | @@ -36,7 +37,6 @@ func NewSchema(key string, schema interface{}) *Schema { | ||
36 | } | 37 | } |
37 | sch := &Schema{ | 38 | sch := &Schema{ |
38 | reflectValue: &s, | 39 | reflectValue: &s, |
39 | - reflectType: s.Type(), | ||
40 | cacheFields: make(map[string]interface{}), | 40 | cacheFields: make(map[string]interface{}), |
41 | schema: schema, | 41 | schema: schema, |
42 | } | 42 | } |
@@ -48,16 +48,16 @@ func NewSchema(key string, schema interface{}) *Schema { | @@ -48,16 +48,16 @@ func NewSchema(key string, schema interface{}) *Schema { | ||
48 | 48 | ||
49 | func (s *Schema) FindIndex() (string, []string) { | 49 | func (s *Schema) FindIndex() (string, []string) { |
50 | var index []string | 50 | var index []string |
51 | - for i := 0; i < s.reflectType.NumField(); i++ { | ||
52 | - if s.reflectType.Field(i).Tag.Get("index") != "" { | ||
53 | - js := strings.Split(s.reflectType.Field(i).Tag.Get("json"), ",") | 51 | + for i := 0; i < s.reflectValue.Type().NumField(); i++ { |
52 | + if s.reflectValue.Type().Field(i).Tag.Get("index") != "" { | ||
53 | + js := strings.Split(s.reflectValue.Type().Field(i).Tag.Get("json"), ",") | ||
54 | if len(js) == 0 { | 54 | if len(js) == 0 { |
55 | continue | 55 | continue |
56 | } | 56 | } |
57 | index = append(index, js[0]) | 57 | index = append(index, js[0]) |
58 | } | 58 | } |
59 | } | 59 | } |
60 | - return strings.ToLower(s.reflectType.Name()), index | 60 | + return strings.ToLower(s.reflectValue.Type().Name()), index |
61 | } | 61 | } |
62 | 62 | ||
63 | func (s *Schema) Init() { | 63 | func (s *Schema) Init() { |
@@ -87,7 +87,7 @@ func (s *Schema) GetSchema() interface{} { | @@ -87,7 +87,7 @@ func (s *Schema) GetSchema() interface{} { | ||
87 | } | 87 | } |
88 | 88 | ||
89 | func (s *Schema) GetSchemaName() string { | 89 | func (s *Schema) GetSchemaName() string { |
90 | - return strings.ToLower(s.reflectType.Name()) | 90 | + return strings.ToLower(s.reflectValue.Type().Name()) |
91 | } | 91 | } |
92 | 92 | ||
93 | func (s *Schema) Load() error { | 93 | func (s *Schema) Load() error { |
@@ -111,22 +111,40 @@ func (s *Schema) Update() { | @@ -111,22 +111,40 @@ func (s *Schema) Update() { | ||
111 | } | 111 | } |
112 | 112 | ||
113 | func (s *Schema) SetProperty(key string, val interface{}) { | 113 | func (s *Schema) SetProperty(key string, val interface{}) { |
114 | - s.reflectValue.FieldByName(key).Set(reflect.ValueOf(val)) | 114 | + s.reflectValue.FieldByName(common.FirstCharToUpper(key)).Set(reflect.ValueOf(val)) |
115 | s.cacheFields[strings.ToLower(key)] = val | 115 | s.cacheFields[strings.ToLower(key)] = val |
116 | } | 116 | } |
117 | 117 | ||
118 | func (s *Schema) SetProperties(properties map[string]interface{}) { | 118 | func (s *Schema) SetProperties(properties map[string]interface{}) { |
119 | for key, val := range properties { | 119 | for key, val := range properties { |
120 | - s.reflectValue.FieldByName(key).Set(reflect.ValueOf(val)) | 120 | + s.reflectValue.FieldByName(common.FirstCharToUpper(key)).Set(reflect.ValueOf(val)) |
121 | s.cacheFields[strings.ToLower(key)] = val | 121 | s.cacheFields[strings.ToLower(key)] = val |
122 | } | 122 | } |
123 | } | 123 | } |
124 | 124 | ||
125 | +func (s *Schema) ParseFields(message protoreflect.Message ,properties map[string]interface{}) []int32 { | ||
126 | + ids := make([]int32, 0, len(properties)) | ||
127 | + for k, v := range properties { | ||
128 | + name := protoreflect.Name(strings.ToLower(k)) | ||
129 | + field := message.Descriptor().Fields().ByName(name) | ||
130 | + if field == nil { | ||
131 | + continue | ||
132 | + } | ||
133 | + | ||
134 | + ids = append(ids, int32(field.Index())) | ||
135 | + message.Set(field, protoreflect.ValueOf(v)) | ||
136 | + | ||
137 | + s.SetProperty(k, v) | ||
138 | + } | ||
139 | + | ||
140 | + return ids | ||
141 | +} | ||
142 | + | ||
125 | func (s *Schema) getPriTag() string { | 143 | func (s *Schema) getPriTag() string { |
126 | var pri string | 144 | var pri string |
127 | - for i := 0; i < s.reflectType.NumField(); i++ { | ||
128 | - if s.reflectType.Field(i).Tag.Get("pri") == "1" { | ||
129 | - pri = strings.ToLower(s.reflectType.Field(i).Name) | 145 | + for i := 0; i < s.reflectValue.Type().NumField(); i++ { |
146 | + if s.reflectValue.Type().Field(i).Tag.Get("pri") == "1" { | ||
147 | + pri = strings.ToLower(s.reflectValue.Type().Field(i).Name) | ||
130 | break | 148 | break |
131 | } | 149 | } |
132 | } | 150 | } |
pb/game.pb.go
@@ -288,6 +288,61 @@ func (x *RoleRsp) GetTeam() []*Team { | @@ -288,6 +288,61 @@ func (x *RoleRsp) GetTeam() []*Team { | ||
288 | return nil | 288 | return nil |
289 | } | 289 | } |
290 | 290 | ||
291 | +type UpdateRolePropertyRsp struct { | ||
292 | + state protoimpl.MessageState | ||
293 | + sizeCache protoimpl.SizeCache | ||
294 | + unknownFields protoimpl.UnknownFields | ||
295 | + | ||
296 | + Id []int32 `protobuf:"varint,1,rep,packed,name=id,proto3" json:"id,omitempty"` | ||
297 | + Role *Role `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` | ||
298 | +} | ||
299 | + | ||
300 | +func (x *UpdateRolePropertyRsp) Reset() { | ||
301 | + *x = UpdateRolePropertyRsp{} | ||
302 | + if protoimpl.UnsafeEnabled { | ||
303 | + mi := &file_game_proto_msgTypes[5] | ||
304 | + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
305 | + ms.StoreMessageInfo(mi) | ||
306 | + } | ||
307 | +} | ||
308 | + | ||
309 | +func (x *UpdateRolePropertyRsp) String() string { | ||
310 | + return protoimpl.X.MessageStringOf(x) | ||
311 | +} | ||
312 | + | ||
313 | +func (*UpdateRolePropertyRsp) ProtoMessage() {} | ||
314 | + | ||
315 | +func (x *UpdateRolePropertyRsp) ProtoReflect() protoreflect.Message { | ||
316 | + mi := &file_game_proto_msgTypes[5] | ||
317 | + if protoimpl.UnsafeEnabled && x != nil { | ||
318 | + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
319 | + if ms.LoadMessageInfo() == nil { | ||
320 | + ms.StoreMessageInfo(mi) | ||
321 | + } | ||
322 | + return ms | ||
323 | + } | ||
324 | + return mi.MessageOf(x) | ||
325 | +} | ||
326 | + | ||
327 | +// Deprecated: Use UpdateRolePropertyRsp.ProtoReflect.Descriptor instead. | ||
328 | +func (*UpdateRolePropertyRsp) Descriptor() ([]byte, []int) { | ||
329 | + return file_game_proto_rawDescGZIP(), []int{5} | ||
330 | +} | ||
331 | + | ||
332 | +func (x *UpdateRolePropertyRsp) GetId() []int32 { | ||
333 | + if x != nil { | ||
334 | + return x.Id | ||
335 | + } | ||
336 | + return nil | ||
337 | +} | ||
338 | + | ||
339 | +func (x *UpdateRolePropertyRsp) GetRole() *Role { | ||
340 | + if x != nil { | ||
341 | + return x.Role | ||
342 | + } | ||
343 | + return nil | ||
344 | +} | ||
345 | + | ||
291 | var File_game_proto protoreflect.FileDescriptor | 346 | var File_game_proto protoreflect.FileDescriptor |
292 | 347 | ||
293 | var file_game_proto_rawDesc = []byte{ | 348 | var file_game_proto_rawDesc = []byte{ |
@@ -311,8 +366,13 @@ var file_game_proto_rawDesc = []byte{ | @@ -311,8 +366,13 @@ var file_game_proto_rawDesc = []byte{ | ||
311 | 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, | 366 | 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, |
312 | 0x68, 0x65, 0x72, 0x6f, 0x12, 0x20, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x03, | 367 | 0x68, 0x65, 0x72, 0x6f, 0x12, 0x20, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x03, |
313 | 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x65, 0x61, 0x6d, | 368 | 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x54, 0x65, 0x61, 0x6d, |
314 | - 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b, | ||
315 | - 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | 369 | + 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x49, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, |
370 | + 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x73, 0x70, 0x12, | ||
371 | + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, | ||
372 | + 0x20, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, | ||
373 | + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, | ||
374 | + 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, | ||
375 | + 0x72, 0x6f, 0x74, 0x6f, 0x33, | ||
316 | } | 376 | } |
317 | 377 | ||
318 | var ( | 378 | var ( |
@@ -327,26 +387,28 @@ func file_game_proto_rawDescGZIP() []byte { | @@ -327,26 +387,28 @@ func file_game_proto_rawDescGZIP() []byte { | ||
327 | return file_game_proto_rawDescData | 387 | return file_game_proto_rawDescData |
328 | } | 388 | } |
329 | 389 | ||
330 | -var file_game_proto_msgTypes = make([]protoimpl.MessageInfo, 5) | 390 | +var file_game_proto_msgTypes = make([]protoimpl.MessageInfo, 6) |
331 | var file_game_proto_goTypes = []interface{}{ | 391 | var file_game_proto_goTypes = []interface{}{ |
332 | - (*HeartReq)(nil), // 0: game.HeartReq | ||
333 | - (*HeartRsp)(nil), // 1: game.HeartRsp | ||
334 | - (*LoginReq)(nil), // 2: game.LoginReq | ||
335 | - (*CreateReq)(nil), // 3: game.CreateReq | ||
336 | - (*RoleRsp)(nil), // 4: game.RoleRsp | ||
337 | - (*Role)(nil), // 5: models.Role | ||
338 | - (*Hero)(nil), // 6: models.Hero | ||
339 | - (*Team)(nil), // 7: models.Team | 392 | + (*HeartReq)(nil), // 0: game.HeartReq |
393 | + (*HeartRsp)(nil), // 1: game.HeartRsp | ||
394 | + (*LoginReq)(nil), // 2: game.LoginReq | ||
395 | + (*CreateReq)(nil), // 3: game.CreateReq | ||
396 | + (*RoleRsp)(nil), // 4: game.RoleRsp | ||
397 | + (*UpdateRolePropertyRsp)(nil), // 5: game.UpdateRolePropertyRsp | ||
398 | + (*Role)(nil), // 6: models.Role | ||
399 | + (*Hero)(nil), // 7: models.Hero | ||
400 | + (*Team)(nil), // 8: models.Team | ||
340 | } | 401 | } |
341 | var file_game_proto_depIdxs = []int32{ | 402 | var file_game_proto_depIdxs = []int32{ |
342 | - 5, // 0: game.RoleRsp.role:type_name -> models.Role | ||
343 | - 6, // 1: game.RoleRsp.hero:type_name -> models.Hero | ||
344 | - 7, // 2: game.RoleRsp.team:type_name -> models.Team | ||
345 | - 3, // [3:3] is the sub-list for method output_type | ||
346 | - 3, // [3:3] is the sub-list for method input_type | ||
347 | - 3, // [3:3] is the sub-list for extension type_name | ||
348 | - 3, // [3:3] is the sub-list for extension extendee | ||
349 | - 0, // [0:3] is the sub-list for field type_name | 403 | + 6, // 0: game.RoleRsp.role:type_name -> models.Role |
404 | + 7, // 1: game.RoleRsp.hero:type_name -> models.Hero | ||
405 | + 8, // 2: game.RoleRsp.team:type_name -> models.Team | ||
406 | + 6, // 3: game.UpdateRolePropertyRsp.role:type_name -> models.Role | ||
407 | + 4, // [4:4] is the sub-list for method output_type | ||
408 | + 4, // [4:4] is the sub-list for method input_type | ||
409 | + 4, // [4:4] is the sub-list for extension type_name | ||
410 | + 4, // [4:4] is the sub-list for extension extendee | ||
411 | + 0, // [0:4] is the sub-list for field type_name | ||
350 | } | 412 | } |
351 | 413 | ||
352 | func init() { file_game_proto_init() } | 414 | func init() { file_game_proto_init() } |
@@ -416,6 +478,18 @@ func file_game_proto_init() { | @@ -416,6 +478,18 @@ func file_game_proto_init() { | ||
416 | return nil | 478 | return nil |
417 | } | 479 | } |
418 | } | 480 | } |
481 | + file_game_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { | ||
482 | + switch v := v.(*UpdateRolePropertyRsp); i { | ||
483 | + case 0: | ||
484 | + return &v.state | ||
485 | + case 1: | ||
486 | + return &v.sizeCache | ||
487 | + case 2: | ||
488 | + return &v.unknownFields | ||
489 | + default: | ||
490 | + return nil | ||
491 | + } | ||
492 | + } | ||
419 | } | 493 | } |
420 | type x struct{} | 494 | type x struct{} |
421 | out := protoimpl.TypeBuilder{ | 495 | out := protoimpl.TypeBuilder{ |
@@ -423,7 +497,7 @@ func file_game_proto_init() { | @@ -423,7 +497,7 @@ func file_game_proto_init() { | ||
423 | GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | 497 | GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
424 | RawDescriptor: file_game_proto_rawDesc, | 498 | RawDescriptor: file_game_proto_rawDesc, |
425 | NumEnums: 0, | 499 | NumEnums: 0, |
426 | - NumMessages: 5, | 500 | + NumMessages: 6, |
427 | NumExtensions: 0, | 501 | NumExtensions: 0, |
428 | NumServices: 0, | 502 | NumServices: 0, |
429 | }, | 503 | }, |
pb/protocode.pb.go
@@ -23,12 +23,13 @@ const ( | @@ -23,12 +23,13 @@ const ( | ||
23 | type ProtoCode int32 | 23 | type ProtoCode int32 |
24 | 24 | ||
25 | const ( | 25 | const ( |
26 | - ProtoCode_UNKNOWN ProtoCode = 0 | ||
27 | - ProtoCode_HeartReq ProtoCode = 1 | ||
28 | - ProtoCode_HeartRsp ProtoCode = 2 | ||
29 | - ProtoCode_LoginReq ProtoCode = 3 | ||
30 | - ProtoCode_CreateReq ProtoCode = 4 | ||
31 | - ProtoCode_RoleRsp ProtoCode = 5 | 26 | + ProtoCode_UNKNOWN ProtoCode = 0 |
27 | + ProtoCode_HeartReq ProtoCode = 1 | ||
28 | + ProtoCode_HeartRsp ProtoCode = 2 | ||
29 | + ProtoCode_LoginReq ProtoCode = 3 | ||
30 | + ProtoCode_CreateReq ProtoCode = 4 | ||
31 | + ProtoCode_RoleRsp ProtoCode = 5 | ||
32 | + ProtoCode_UpdateRolePropertyRsp ProtoCode = 6 | ||
32 | ) | 33 | ) |
33 | 34 | ||
34 | // Enum value maps for ProtoCode. | 35 | // Enum value maps for ProtoCode. |
@@ -40,14 +41,16 @@ var ( | @@ -40,14 +41,16 @@ var ( | ||
40 | 3: "LoginReq", | 41 | 3: "LoginReq", |
41 | 4: "CreateReq", | 42 | 4: "CreateReq", |
42 | 5: "RoleRsp", | 43 | 5: "RoleRsp", |
44 | + 6: "UpdateRolePropertyRsp", | ||
43 | } | 45 | } |
44 | ProtoCode_value = map[string]int32{ | 46 | ProtoCode_value = map[string]int32{ |
45 | - "UNKNOWN": 0, | ||
46 | - "HeartReq": 1, | ||
47 | - "HeartRsp": 2, | ||
48 | - "LoginReq": 3, | ||
49 | - "CreateReq": 4, | ||
50 | - "RoleRsp": 5, | 47 | + "UNKNOWN": 0, |
48 | + "HeartReq": 1, | ||
49 | + "HeartRsp": 2, | ||
50 | + "LoginReq": 3, | ||
51 | + "CreateReq": 4, | ||
52 | + "RoleRsp": 5, | ||
53 | + "UpdateRolePropertyRsp": 6, | ||
51 | } | 54 | } |
52 | ) | 55 | ) |
53 | 56 | ||
@@ -82,14 +85,16 @@ var File_protocode_proto protoreflect.FileDescriptor | @@ -82,14 +85,16 @@ var File_protocode_proto protoreflect.FileDescriptor | ||
82 | 85 | ||
83 | var file_protocode_proto_rawDesc = []byte{ | 86 | var file_protocode_proto_rawDesc = []byte{ |
84 | 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, | 87 | 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
85 | - 0x6f, 0x12, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x2a, 0x5e, 0x0a, 0x09, | 88 | + 0x6f, 0x12, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x2a, 0x79, 0x0a, 0x09, |
86 | 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, | 89 | 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, |
87 | 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x65, 0x61, 0x72, 0x74, 0x52, | 90 | 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x65, 0x61, 0x72, 0x74, 0x52, |
88 | 0x65, 0x71, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x65, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, | 91 | 0x65, 0x71, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x65, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, |
89 | 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x10, 0x03, | 92 | 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x10, 0x03, |
90 | 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x10, 0x04, 0x12, | 93 | 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x10, 0x04, 0x12, |
91 | - 0x0b, 0x0a, 0x07, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x10, 0x05, 0x42, 0x0a, 0x5a, 0x08, | ||
92 | - 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | 94 | + 0x0b, 0x0a, 0x07, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, |
95 | + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, | ||
96 | + 0x74, 0x79, 0x52, 0x73, 0x70, 0x10, 0x06, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, | ||
97 | + 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | ||
93 | } | 98 | } |
94 | 99 | ||
95 | var ( | 100 | var ( |