Commit e172952cc2ff820506226554636fac95d1c3abd5

Authored by zhangqijia
1 parent 30feca39

feat: email 系统搭建

以及gm发送邮件接口完成
1   -Subproject commit e062c5009b60e14a5d2eca3d1cfef903bce81d4c
  1 +Subproject commit 38aa59df0f03d95f39de9a9379b600cdd80d19a2
... ...
cmd/gameserver/action/EmailAction.go 0 → 100644
... ... @@ -0,0 +1,131 @@
  1 +package action
  2 +
  3 +import (
  4 + "github.com/golang/protobuf/proto"
  5 + "go.mongodb.org/mongo-driver/bson"
  6 + "pro2d/common"
  7 + "pro2d/common/components"
  8 + "pro2d/common/db/mongoproxy"
  9 + "pro2d/common/logger"
  10 + "pro2d/models"
  11 + "pro2d/pb"
  12 +)
  13 +
  14 +/*
  15 +EmailListRpc 邮件列表
  16 +*/
  17 +func EmailListRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) {
  18 + // del
  19 + err := role.DelExpireEmail()
  20 + if err != nil {
  21 + logger.Error(err.Error())
  22 + }
  23 +
  24 + // load
  25 + emails := role.LoadEmails()
  26 + return 0, emails
  27 +}
  28 +
  29 +func GetEmailPBAttachMents(email *pb.Email) string {
  30 + if email.Status == 2 {
  31 + return ""
  32 + }
  33 + return email.Attachments
  34 +}
  35 +
  36 +/*
  37 +EmailDrawRpc 打开所有邮件奖励
  38 + 2 邮件不存在
  39 +*/
  40 +func EmailDrawRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) {
  41 + req := pb.EmailDrawReq{}
  42 + if err := proto.Unmarshal(msg.GetData(), &req); err != nil {
  43 + logger.Error("loginRpc err: %v", err)
  44 + return 1, nil
  45 + }
  46 + var emails []*pb.Email
  47 +
  48 + if req.Id == "" {
  49 + // 打开所有邮件
  50 + emails = role.LoadEmails()
  51 + } else {
  52 + // 打开一个邮件
  53 + email := models.NewEmailModel(req.Id)
  54 + if err := email.Load(); err != nil {
  55 + return 2, nil
  56 + }
  57 + emails = []*pb.Email{email.Data}
  58 + }
  59 +
  60 + var ids []string
  61 + reward := make(common.IMapStringNum)
  62 + for _, e := range emails {
  63 + attachments := GetEmailPBAttachMents(e)
  64 + if attachments == "" {
  65 + continue
  66 + }
  67 + email := models.NewEmailModelPB(e)
  68 + email.SetProperty("status", 2)
  69 + email.Log(role, 2)
  70 + email.Update()
  71 + ids = append(ids, e.Id)
  72 + for k, v := range common.StringToMapNum(email.Data.Attachments) {
  73 + tmp, ok := reward[k]
  74 + if !ok {
  75 + reward[k] = v
  76 + } else {
  77 + reward[k] = tmp + v
  78 + }
  79 + }
  80 + }
  81 + role.Award(reward)
  82 +
  83 + return 0, &pb.EmailDrawRsp{Ids: ids, Reward: common.MapNumToString(reward)}
  84 +}
  85 +
  86 +func EmailCheckRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) {
  87 + req := pb.EmailCheckRar{}
  88 + if err := proto.Unmarshal(msg.GetData(), &req); err != nil {
  89 + logger.Error("loginRpc err: %v", err)
  90 + return 1, nil
  91 + }
  92 + email := models.NewEmailModel(req.Id)
  93 + if err := email.Load(); err != nil {
  94 + return 2, nil
  95 + }
  96 +
  97 + email.SetProperty("status", 1)
  98 + email.Log(role, 1)
  99 + email.Update()
  100 + return 0, nil
  101 +}
  102 +
  103 +func EmailDelRpc(role *models.RoleModel, msg components.IMessage) (int32, interface{}) {
  104 + req := pb.EmailDelReq{}
  105 + if err := proto.Unmarshal(msg.GetData(), &req); err != nil {
  106 + logger.Error("loginRpc err: %v", err)
  107 + return 1, nil
  108 + }
  109 +
  110 + var result []string
  111 + emails := role.LoadEmails()
  112 + for _, email := range emails {
  113 + attachments := GetEmailPBAttachMents(email)
  114 + if email.Status == 2 || (attachments == "" && email.Status == 1) {
  115 + result = append(result, email.Id)
  116 + models.NewEmailModelPB(email).Log(role, 3)
  117 +
  118 + role.MyLog("mail_action", &pb.LogConf{
  119 + Desc: "del_mail",
  120 + Int1: email.Id,
  121 + })
  122 + }
  123 + }
  124 +
  125 + filter := bson.D{{"roleid", role.Data.Id}, {"id", bson.D{{"$in", result}}}}
  126 + if err := mongoproxy.DelMany("email", filter); err != nil {
  127 + return 2, nil
  128 + }
  129 +
  130 + return 0, &pb.EmailDelRsp{Ids: result}
  131 +}
... ...
cmd/gameserver/action/HeroAction.go
... ... @@ -39,8 +39,8 @@ func EquipmentDelRpc(role *models.RoleModel, msg components.IMessage) (int32, in
39 39  
40 40 /*
41 41 HeroUpLevelRpc 英雄升级
42   - 2 item不存在
43   - 3 itemType错误
  42 + 2 item 不存在
  43 + 3 itemType 错误
44 44 4 itemExp 不存在
45 45 5 英雄不存在
46 46 6 消耗物品失败
... ...
cmd/gameserver/action/protocode.go
... ... @@ -9,14 +9,18 @@ func GetActionMap() map[interface{}]interface{} {
9 9 logger.Debug("init protocode...")
10 10 am := make(map[interface{}]interface{})
11 11 am[uint32(pb.ProtoCode_HeartRpc)] = HeartRpc
12   - am[uint32(pb.ProtoCode_RoleStartBattleRpc)] = RoleStartBattleRpc
13   - am[uint32(pb.ProtoCode_RoleEndBattleRpc)] = RoleEndBattleRpc
14   - am[uint32(pb.ProtoCode_HeroUpLevelRpc)] = HeroUpLevelRpc
15 12 am[uint32(pb.ProtoCode_CreateRpc)] = CreateRpc
16 13 am[uint32(pb.ProtoCode_ChangeTeamRpc)] = ChangeTeamRpc
17 14 am[uint32(pb.ProtoCode_HeroEquipReferRpc)] = HeroEquipReferRpc
18 15 am[uint32(pb.ProtoCode_RoleClearItemsRpc)] = RoleClearItemsRpc
  16 + am[uint32(pb.ProtoCode_RoleStartBattleRpc)] = RoleStartBattleRpc
  17 + am[uint32(pb.ProtoCode_RoleEndBattleRpc)] = RoleEndBattleRpc
19 18 am[uint32(pb.ProtoCode_EquipmentDelRpc)] = EquipmentDelRpc
  19 + am[uint32(pb.ProtoCode_HeroUpLevelRpc)] = HeroUpLevelRpc
  20 + am[uint32(pb.ProtoCode_EmailListRpc)] = EmailListRpc
  21 + am[uint32(pb.ProtoCode_EmailDrawRpc)] = EmailDrawRpc
  22 + am[uint32(pb.ProtoCode_EmailCheckRpc)] = EmailCheckRpc
  23 + am[uint32(pb.ProtoCode_EmailDelRpc)] = EmailDelRpc
20 24  
21 25 return am
22   -}
23 26 \ No newline at end of file
  27 +}
... ...
cmd/gameserver/gmaction/GmAction.go
... ... @@ -2,6 +2,8 @@
2 2 package gmaction
3 3  
4 4 import (
  5 + "pro2d/common"
  6 + "pro2d/common/logger"
5 7 "pro2d/models"
6 8 "pro2d/pb"
7 9 "strconv"
... ... @@ -91,3 +93,45 @@ func (gm *GmAction) UpdatePackLimit(role *models.RoleModel, params GMParams) {
91 93  
92 94 role.UpdateProperties(update, true)
93 95 }
  96 +
  97 +/*GMEmail 发送邮件
  98 +参数 &title= &stitle= &content= &attachments=
  99 +*/
  100 +func (gm *GmAction) GMEmail(role *models.RoleModel, params GMParams) {
  101 + title, ok := params["title"]
  102 + if !ok {
  103 + title = ""
  104 + }
  105 + stitle, ok := params["stitle"]
  106 + if !ok {
  107 + stitle = ""
  108 + }
  109 + content, ok := params["content"]
  110 + if !ok {
  111 + content = ""
  112 + }
  113 + attachments, ok := params["attachments"]
  114 + if !ok {
  115 + attachments = ""
  116 + }
  117 + id, err := common.GetNextEmail()
  118 + if err != nil {
  119 + logger.Error(err)
  120 + return
  121 + }
  122 + email := &pb.Email{
  123 + Id: id,
  124 + RoleId: role.Data.Id,
  125 + Title: title,
  126 + Stitle: stitle,
  127 + Content: content,
  128 + Attachments: attachments,
  129 + Status: 0,
  130 + CreateTime: common.Timex(),
  131 + }
  132 + m := models.NewEmailModelPB(email)
  133 + err = m.Create()
  134 + if err != nil {
  135 + logger.Error(err)
  136 + }
  137 +}
... ...
cmd/test/action/protocode.go
... ... @@ -7,18 +7,22 @@ import (
7 7 func GetTestActionMap() map[interface{}]interface{} {
8 8 am := make(map[interface{}]interface{})
9 9 am[uint32(pb.ProtoCode_HeartRpc)] = HeartRsp
10   - am[uint32(pb.ProtoCode_RoleStartBattleRpc)] = RoleStartBattleRsp
11   - am[uint32(pb.ProtoCode_RoleEndBattleRpc)] = RoleEndBattleRsp
12   - am[uint32(pb.ProtoCode_HeroUpLevelRpc)] = HeroUpLevelRsp
13 10 am[uint32(pb.ProtoCode_CreateRpc)] = CreateRsp
14 11 am[uint32(pb.ProtoCode_ChangeTeamRpc)] = ChangeTeamRsp
15 12 am[uint32(pb.ProtoCode_HeroEquipReferRpc)] = HeroEquipReferRsp
16 13 am[uint32(pb.ProtoCode_RoleClearItemsRpc)] = RoleClearItemsRsp
  14 + am[uint32(pb.ProtoCode_RoleStartBattleRpc)] = RoleStartBattleRsp
  15 + am[uint32(pb.ProtoCode_RoleEndBattleRpc)] = RoleEndBattleRsp
17 16 am[uint32(pb.ProtoCode_EquipmentDelRpc)] = EquipmentDelRsp
  17 + am[uint32(pb.ProtoCode_HeroUpLevelRpc)] = HeroUpLevelRsp
  18 + am[uint32(pb.ProtoCode_EmailListRpc)] = EmailListRsp
  19 + am[uint32(pb.ProtoCode_EmailDrawRpc)] = EmailDrawRsp
  20 + am[uint32(pb.ProtoCode_EmailCheckRpc)] = EmailCheckRsp
  21 + am[uint32(pb.ProtoCode_EmailDelRpc)] = EmailDelRsp
18 22 am[uint32(pb.ProtoCode_DisConnectNty)] = DisConnectNty
19 23 am[uint32(pb.ProtoCode_RoleUpdatePropertyNty)] = RoleUpdatePropertyNty
20 24 am[uint32(pb.ProtoCode_RoleUpdateItemsNty)] = RoleUpdateItemsNty
21 25 am[uint32(pb.ProtoCode_EquipmentAddNty)] = EquipmentAddNty
22 26  
23 27 return am
24   -}
25 28 \ No newline at end of file
  29 +}
... ...
common/commonFunc.go
... ... @@ -54,6 +54,26 @@ func GetNextUId() (string, error) {
54 54 return fmt.Sprintf("%d", ID), nil
55 55 }
56 56  
  57 +func GetNextEmail() (string, error) {
  58 + relay, err := redisproxy.HGET(fmt.Sprintf(AutoIncrement, GlobalSconf.ID), "email")
  59 + if err != nil {
  60 + return "", err
  61 + }
  62 +
  63 + var ID int64 = 0
  64 + if relay == nil {
  65 + ID = 1
  66 + redisproxy.HSET(fmt.Sprintf(AutoIncrement, GlobalSconf.ID), "email", ID)
  67 + } else {
  68 + relay, err = redisproxy.HINCRBY(fmt.Sprintf(AutoIncrement, GlobalSconf.ID), "email", 1)
  69 + ID, err = redis.Int64(relay, err)
  70 + if err != nil {
  71 + return "", err
  72 + }
  73 + }
  74 + return fmt.Sprintf("%d", ID), nil
  75 +}
  76 +
57 77 type IMapString map[string]interface{}
58 78 type IMapStringNum map[string]int32
59 79  
... ...
common/const.go
... ... @@ -13,11 +13,12 @@ const (
13 13 SaveDataInterval = 5 //s
14 14  
15 15 //自增id相关
16   - MaxCommNum = 1000000
17   - MaxRoleNum = MaxCommNum
18   - MaxHeroNum = 100
19   - MaxTeamNum = 10
20   - MaxUidNum = 90000
  16 + MaxCommNum = 1000000
  17 + MaxRoleNum = MaxCommNum
  18 + MaxHeroNum = 100
  19 + MaxTeamNum = 10
  20 + MaxUidNum = 90000
  21 + MaxEmailNum = 10
21 22  
22 23 AutoIncrement = "pro2d_autoincrement_set:%d"
23 24 AutoIncrementHero = "pro2d_autoincrement:hero"
... ...
common/db/mongoproxy/mongoplugin.go
... ... @@ -83,6 +83,14 @@ func FindMany(coll string, key string, val interface{}, schema interface{}) erro
83 83 return r.All(context.TODO(), schema)
84 84 }
85 85  
  86 +func FindManyFilter(coll string, filter bson.D, opts *options.FindOptions, schema interface{}) error {
  87 + r, err := mongoDatabase.Collection(coll).Find(context.TODO(), filter, opts)
  88 + if err != nil {
  89 + return err
  90 + }
  91 + return r.All(context.TODO(), schema)
  92 +}
  93 +
86 94 func DelOne(coll string, key string, value interface{}) error {
87 95 filter := bson.D{{key, value}}
88 96 _, err := mongoDatabase.Collection(coll).DeleteOne(context.TODO(), filter, nil)
... ...
models/dbseed.go
... ... @@ -46,12 +46,12 @@ func GameModels() STOIncrement {
46 46 &pb.Role{}: common.MaxCommNum,
47 47 &pb.Equipment{}: 0,
48 48 &pb.Hero{}: 0,
49   - &pb.Prop{}: 0,
50 49 &pb.Team{}: 0,
  50 + &pb.Email{}: common.MaxEmailNum,
51 51 }
52 52 }
53 53  
54   -//初始化表自增id
  54 +// InitAutoIncreUidTable 初始化表自增id
55 55 func (d *DBSeed) InitAutoIncreUidTable(schema STOIncrement) {
56 56 for s, b := range schema {
57 57 if b <= 0 {
... ...
models/email.go 0 → 100644
... ... @@ -0,0 +1,59 @@
  1 +package models
  2 +
  3 +import (
  4 + "pro2d/common"
  5 + "pro2d/common/components"
  6 + "pro2d/pb"
  7 +)
  8 +
  9 +const EMAIL_LIMIT = 50
  10 +
  11 +type EmailModel struct {
  12 + components.ISchema
  13 + Data *pb.Email
  14 +}
  15 +
  16 +func NewEmailModel(id string) *EmailModel {
  17 + data := &pb.Email{Id: id}
  18 + m := &EmailModel{
  19 + ISchema: NewSchema(data.Id, data),
  20 + Data: data,
  21 + }
  22 + return m
  23 +}
  24 +
  25 +func NewEmailModelPB(email *pb.Email) *EmailModel {
  26 + m := &EmailModel{
  27 + ISchema: NewSchema(email.Id, email),
  28 + Data: email,
  29 + }
  30 + return m
  31 +}
  32 +
  33 +func InsertEmail(email *pb.Email) bool {
  34 + data := &EmailModel{
  35 + ISchema: NewSchema(email.Id, email),
  36 + Data: email,
  37 + }
  38 +
  39 + data.SetProperty("createtime", common.Timex())
  40 + err := data.Create()
  41 + if err != nil {
  42 + return false
  43 + }
  44 + return true
  45 +}
  46 +
  47 +func (m *EmailModel) Log(role *RoleModel, action int32) {
  48 + //{desc = "onMail", int1 = self:getProperty("id"), int2 = self:getProperty("status"), cint1 = self:getProperty("emailId"),
  49 + // short1 = action, key1=self:getProperty("title"), key2=self:getProperty("attachments")})
  50 + role.MyLog("mail_action", &pb.LogConf{
  51 + Desc: "onMail",
  52 + //Int1: email.Data.Id,
  53 + Int2: string(m.Data.Status),
  54 + //Cint1:
  55 + Short1: action,
  56 + Key1: m.Data.Title,
  57 + Key2: m.Data.Attachments,
  58 + })
  59 +}
... ...
models/prop.go deleted
... ... @@ -1,23 +0,0 @@
1   -package models
2   -
3   -import (
4   - "pro2d/common/components"
5   - "pro2d/pb"
6   -)
7   -
8   -type PropModel struct {
9   - components.ISchema
10   - Data *pb.Prop
11   -}
12   -
13   -func NewProp(id string) *PropModel {
14   - data := &pb.Prop{
15   - Id: id,
16   - }
17   - m := &PropModel{
18   - ISchema: NewSchema(id, data),
19   - Data: data,
20   - }
21   -
22   - return m
23   -}
models/role.go
... ... @@ -17,7 +17,6 @@ type RoleModel struct {
17 17 Heros SchemaMap
18 18 Teams SchemaMap
19 19 Equipments SchemaMap
20   - Prop *PropModel
21 20 Items common.IMapStringNum //背包
22 21  
23 22 lastSaveTs int64
... ... @@ -40,7 +39,6 @@ func RoleExistByUid(uid string) *RoleModel {
40 39 Heros: make(SchemaMap),
41 40 Teams: make(SchemaMap),
42 41 Equipments: make(SchemaMap),
43   - Prop: new(PropModel),
44 42 Items: make(common.IMapStringNum),
45 43 }
46 44 r.Load()
... ... @@ -56,7 +54,6 @@ func NewRole(id string) *RoleModel {
56 54 Heros: make(SchemaMap),
57 55 Teams: make(SchemaMap),
58 56 Equipments: make(SchemaMap),
59   - Prop: new(PropModel),
60 57 Items: make(common.IMapStringNum),
61 58 }
62 59 return m
... ... @@ -166,7 +163,7 @@ func (m *RoleModel) LoadTeams() {
166 163 }
167 164 }
168 165  
169   -//加载背包数据到内存
  166 +// LoadItems 加载背包数据到内存
170 167 func (m *RoleModel) LoadItems() {
171 168 m.Items = common.StringToMapNum(m.Data.Items)
172 169 }
... ...
models/RoleLog.go renamed to models/roleLog.go
... ... @@ -5,6 +5,7 @@ import (
5 5 "fmt"
6 6 "pro2d/common"
7 7 "pro2d/common/logger"
  8 + "pro2d/pb"
8 9 "sync/atomic"
9 10 )
10 11  
... ... @@ -16,41 +17,26 @@ var LogType = map[string]string{
16 17 "in_equip": "common",
17 18 "out_equip": "common",
18 19  
  20 + "mail_action": "common",
19 21 "role_action": "common",
20 22 }
21 23  
22   -var commonRoleField = []string{
23   - "id",
24   - "uid",
25   - "name",
26   - "device",
27   - "level",
28   -}
29   -
30   -func (m *RoleModel) MyLog(logType string, content map[string]interface{}) {
  24 +func (m *RoleModel) MyLog(logType string, content *pb.LogConf) {
31 25 _, ok := LogType[logType]
32 26 if !ok {
33 27 logger.Error("LOG ERROR: new logType [%s] need Add Maping.", logType)
34 28 return
35 29 }
36 30  
37   - doc := make(map[string]interface{})
38   - for _, field := range commonRoleField {
39   - if content[field] != nil {
40   - logger.Error("LOG ERROR: logType [%s] had field [%s] overwrite default.", logType, field)
41   - }
  31 + content.Id = m.Data.Id
  32 + content.Uid = m.Data.Uid
  33 + content.Name = m.Data.Nick
  34 + content.Device = m.Data.Device
  35 + content.Level = m.Data.Level
  36 + content.Ucode = m.GetActionUnicode()
42 37  
43   - v := m.GetProperty(field)
44   - if v != nil {
45   - doc[field] = v
46   - }
47   - }
48   - content["ucode"] = m.GetActionUnicode()
49   - for field, value := range content {
50   - doc[field] = value
51   - }
52   - doc["@type"] = logType
53   - j, err := json.Marshal(doc)
  38 + content.Typ = logType
  39 + j, err := json.Marshal(content)
54 40 if err != nil {
55 41 logger.Error("LOG ERROR: logType [%s] json.Marshal", logType)
56 42 return
... ...
models/rolePlugin.go
... ... @@ -3,7 +3,10 @@ package models
3 3 import (
4 4 "fmt"
5 5 "github.com/golang/protobuf/proto"
  6 + "go.mongodb.org/mongo-driver/bson"
  7 + "go.mongodb.org/mongo-driver/mongo/options"
6 8 "pro2d/common"
  9 + "pro2d/common/db/mongoproxy"
7 10 "pro2d/common/logger"
8 11 "pro2d/csvdata"
9 12 "pro2d/pb"
... ... @@ -256,3 +259,56 @@ func (m *RoleModel) EquipmentRefer(equipId, heroId string, refer bool, pos int32
256 259 }
257 260 return 0
258 261 }
  262 +
  263 +func (m *RoleModel) DelExpireEmail() error {
  264 + filter := bson.D{{"roleid", m.Data.Id}}
  265 + sort := bson.D{
  266 + {"createtime", -1},
  267 + }
  268 +
  269 + var limit int64 = 10000
  270 + var skip int64 = EMAIL_LIMIT
  271 + //查询条件
  272 + opts := &options.FindOptions{
  273 + Sort: sort,
  274 + Limit: &limit,
  275 + Skip: &skip,
  276 + }
  277 + emails := make([]*pb.Email, EMAIL_LIMIT)
  278 + err := mongoproxy.FindManyFilter("email", filter, opts, &emails)
  279 + if err != nil {
  280 + return err
  281 + }
  282 +
  283 + var ids []string
  284 + for _, email := range emails {
  285 + ids = append(ids, email.Id)
  286 + }
  287 + filter = append(filter, bson.E{Key: "$in", Value: ids})
  288 + err = mongoproxy.DelMany("email", filter)
  289 + if err != nil {
  290 + return err
  291 + }
  292 +
  293 + return nil
  294 +}
  295 +
  296 +func (m *RoleModel) LoadEmails() []*pb.Email {
  297 + //filter := bson.D{{"roleid", m.Data.Id}}
  298 + //sort := bson.D{
  299 + // {"createtime", -1},
  300 + //}
  301 +
  302 + //var limit int64 = EMAIL_LIMIT
  303 + ////查询条件
  304 + //opts := &options.FindOptions{
  305 + // Sort: sort,
  306 + // Limit: &limit,
  307 + //}
  308 + emails := make([]*pb.Email, EMAIL_LIMIT)
  309 + err := mongoproxy.FindMany("email", "roleid", m.Data.Id, &emails)
  310 + if err != nil {
  311 + return nil
  312 + }
  313 + return emails
  314 +}
... ...
pb/game.pb.go
... ... @@ -1094,6 +1094,325 @@ func (x *HeroUpLevelRsp) GetHero() *Hero {
1094 1094 return nil
1095 1095 }
1096 1096  
  1097 +type EmailListReq struct {
  1098 + state protoimpl.MessageState
  1099 + sizeCache protoimpl.SizeCache
  1100 + unknownFields protoimpl.UnknownFields
  1101 +}
  1102 +
  1103 +func (x *EmailListReq) Reset() {
  1104 + *x = EmailListReq{}
  1105 + if protoimpl.UnsafeEnabled {
  1106 + mi := &file_game_proto_msgTypes[20]
  1107 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1108 + ms.StoreMessageInfo(mi)
  1109 + }
  1110 +}
  1111 +
  1112 +func (x *EmailListReq) String() string {
  1113 + return protoimpl.X.MessageStringOf(x)
  1114 +}
  1115 +
  1116 +func (*EmailListReq) ProtoMessage() {}
  1117 +
  1118 +func (x *EmailListReq) ProtoReflect() protoreflect.Message {
  1119 + mi := &file_game_proto_msgTypes[20]
  1120 + if protoimpl.UnsafeEnabled && x != nil {
  1121 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1122 + if ms.LoadMessageInfo() == nil {
  1123 + ms.StoreMessageInfo(mi)
  1124 + }
  1125 + return ms
  1126 + }
  1127 + return mi.MessageOf(x)
  1128 +}
  1129 +
  1130 +// Deprecated: Use EmailListReq.ProtoReflect.Descriptor instead.
  1131 +func (*EmailListReq) Descriptor() ([]byte, []int) {
  1132 + return file_game_proto_rawDescGZIP(), []int{20}
  1133 +}
  1134 +
  1135 +type EmailListRsp struct {
  1136 + state protoimpl.MessageState
  1137 + sizeCache protoimpl.SizeCache
  1138 + unknownFields protoimpl.UnknownFields
  1139 +
  1140 + Emails []*Email `protobuf:"bytes,1,rep,name=emails,proto3" json:"emails,omitempty"`
  1141 +}
  1142 +
  1143 +func (x *EmailListRsp) Reset() {
  1144 + *x = EmailListRsp{}
  1145 + if protoimpl.UnsafeEnabled {
  1146 + mi := &file_game_proto_msgTypes[21]
  1147 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1148 + ms.StoreMessageInfo(mi)
  1149 + }
  1150 +}
  1151 +
  1152 +func (x *EmailListRsp) String() string {
  1153 + return protoimpl.X.MessageStringOf(x)
  1154 +}
  1155 +
  1156 +func (*EmailListRsp) ProtoMessage() {}
  1157 +
  1158 +func (x *EmailListRsp) ProtoReflect() protoreflect.Message {
  1159 + mi := &file_game_proto_msgTypes[21]
  1160 + if protoimpl.UnsafeEnabled && x != nil {
  1161 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1162 + if ms.LoadMessageInfo() == nil {
  1163 + ms.StoreMessageInfo(mi)
  1164 + }
  1165 + return ms
  1166 + }
  1167 + return mi.MessageOf(x)
  1168 +}
  1169 +
  1170 +// Deprecated: Use EmailListRsp.ProtoReflect.Descriptor instead.
  1171 +func (*EmailListRsp) Descriptor() ([]byte, []int) {
  1172 + return file_game_proto_rawDescGZIP(), []int{21}
  1173 +}
  1174 +
  1175 +func (x *EmailListRsp) GetEmails() []*Email {
  1176 + if x != nil {
  1177 + return x.Emails
  1178 + }
  1179 + return nil
  1180 +}
  1181 +
  1182 +type EmailDrawReq struct {
  1183 + state protoimpl.MessageState
  1184 + sizeCache protoimpl.SizeCache
  1185 + unknownFields protoimpl.UnknownFields
  1186 +
  1187 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  1188 +}
  1189 +
  1190 +func (x *EmailDrawReq) Reset() {
  1191 + *x = EmailDrawReq{}
  1192 + if protoimpl.UnsafeEnabled {
  1193 + mi := &file_game_proto_msgTypes[22]
  1194 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1195 + ms.StoreMessageInfo(mi)
  1196 + }
  1197 +}
  1198 +
  1199 +func (x *EmailDrawReq) String() string {
  1200 + return protoimpl.X.MessageStringOf(x)
  1201 +}
  1202 +
  1203 +func (*EmailDrawReq) ProtoMessage() {}
  1204 +
  1205 +func (x *EmailDrawReq) ProtoReflect() protoreflect.Message {
  1206 + mi := &file_game_proto_msgTypes[22]
  1207 + if protoimpl.UnsafeEnabled && x != nil {
  1208 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1209 + if ms.LoadMessageInfo() == nil {
  1210 + ms.StoreMessageInfo(mi)
  1211 + }
  1212 + return ms
  1213 + }
  1214 + return mi.MessageOf(x)
  1215 +}
  1216 +
  1217 +// Deprecated: Use EmailDrawReq.ProtoReflect.Descriptor instead.
  1218 +func (*EmailDrawReq) Descriptor() ([]byte, []int) {
  1219 + return file_game_proto_rawDescGZIP(), []int{22}
  1220 +}
  1221 +
  1222 +func (x *EmailDrawReq) GetId() string {
  1223 + if x != nil {
  1224 + return x.Id
  1225 + }
  1226 + return ""
  1227 +}
  1228 +
  1229 +type EmailDrawRsp struct {
  1230 + state protoimpl.MessageState
  1231 + sizeCache protoimpl.SizeCache
  1232 + unknownFields protoimpl.UnknownFields
  1233 +
  1234 + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
  1235 + Reward string `protobuf:"bytes,2,opt,name=reward,proto3" json:"reward,omitempty"`
  1236 +}
  1237 +
  1238 +func (x *EmailDrawRsp) Reset() {
  1239 + *x = EmailDrawRsp{}
  1240 + if protoimpl.UnsafeEnabled {
  1241 + mi := &file_game_proto_msgTypes[23]
  1242 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1243 + ms.StoreMessageInfo(mi)
  1244 + }
  1245 +}
  1246 +
  1247 +func (x *EmailDrawRsp) String() string {
  1248 + return protoimpl.X.MessageStringOf(x)
  1249 +}
  1250 +
  1251 +func (*EmailDrawRsp) ProtoMessage() {}
  1252 +
  1253 +func (x *EmailDrawRsp) ProtoReflect() protoreflect.Message {
  1254 + mi := &file_game_proto_msgTypes[23]
  1255 + if protoimpl.UnsafeEnabled && x != nil {
  1256 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1257 + if ms.LoadMessageInfo() == nil {
  1258 + ms.StoreMessageInfo(mi)
  1259 + }
  1260 + return ms
  1261 + }
  1262 + return mi.MessageOf(x)
  1263 +}
  1264 +
  1265 +// Deprecated: Use EmailDrawRsp.ProtoReflect.Descriptor instead.
  1266 +func (*EmailDrawRsp) Descriptor() ([]byte, []int) {
  1267 + return file_game_proto_rawDescGZIP(), []int{23}
  1268 +}
  1269 +
  1270 +func (x *EmailDrawRsp) GetIds() []string {
  1271 + if x != nil {
  1272 + return x.Ids
  1273 + }
  1274 + return nil
  1275 +}
  1276 +
  1277 +func (x *EmailDrawRsp) GetReward() string {
  1278 + if x != nil {
  1279 + return x.Reward
  1280 + }
  1281 + return ""
  1282 +}
  1283 +
  1284 +type EmailCheckRar struct {
  1285 + state protoimpl.MessageState
  1286 + sizeCache protoimpl.SizeCache
  1287 + unknownFields protoimpl.UnknownFields
  1288 +
  1289 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  1290 +}
  1291 +
  1292 +func (x *EmailCheckRar) Reset() {
  1293 + *x = EmailCheckRar{}
  1294 + if protoimpl.UnsafeEnabled {
  1295 + mi := &file_game_proto_msgTypes[24]
  1296 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1297 + ms.StoreMessageInfo(mi)
  1298 + }
  1299 +}
  1300 +
  1301 +func (x *EmailCheckRar) String() string {
  1302 + return protoimpl.X.MessageStringOf(x)
  1303 +}
  1304 +
  1305 +func (*EmailCheckRar) ProtoMessage() {}
  1306 +
  1307 +func (x *EmailCheckRar) ProtoReflect() protoreflect.Message {
  1308 + mi := &file_game_proto_msgTypes[24]
  1309 + if protoimpl.UnsafeEnabled && x != nil {
  1310 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1311 + if ms.LoadMessageInfo() == nil {
  1312 + ms.StoreMessageInfo(mi)
  1313 + }
  1314 + return ms
  1315 + }
  1316 + return mi.MessageOf(x)
  1317 +}
  1318 +
  1319 +// Deprecated: Use EmailCheckRar.ProtoReflect.Descriptor instead.
  1320 +func (*EmailCheckRar) Descriptor() ([]byte, []int) {
  1321 + return file_game_proto_rawDescGZIP(), []int{24}
  1322 +}
  1323 +
  1324 +func (x *EmailCheckRar) GetId() string {
  1325 + if x != nil {
  1326 + return x.Id
  1327 + }
  1328 + return ""
  1329 +}
  1330 +
  1331 +type EmailDelReq struct {
  1332 + state protoimpl.MessageState
  1333 + sizeCache protoimpl.SizeCache
  1334 + unknownFields protoimpl.UnknownFields
  1335 +}
  1336 +
  1337 +func (x *EmailDelReq) Reset() {
  1338 + *x = EmailDelReq{}
  1339 + if protoimpl.UnsafeEnabled {
  1340 + mi := &file_game_proto_msgTypes[25]
  1341 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1342 + ms.StoreMessageInfo(mi)
  1343 + }
  1344 +}
  1345 +
  1346 +func (x *EmailDelReq) String() string {
  1347 + return protoimpl.X.MessageStringOf(x)
  1348 +}
  1349 +
  1350 +func (*EmailDelReq) ProtoMessage() {}
  1351 +
  1352 +func (x *EmailDelReq) ProtoReflect() protoreflect.Message {
  1353 + mi := &file_game_proto_msgTypes[25]
  1354 + if protoimpl.UnsafeEnabled && x != nil {
  1355 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1356 + if ms.LoadMessageInfo() == nil {
  1357 + ms.StoreMessageInfo(mi)
  1358 + }
  1359 + return ms
  1360 + }
  1361 + return mi.MessageOf(x)
  1362 +}
  1363 +
  1364 +// Deprecated: Use EmailDelReq.ProtoReflect.Descriptor instead.
  1365 +func (*EmailDelReq) Descriptor() ([]byte, []int) {
  1366 + return file_game_proto_rawDescGZIP(), []int{25}
  1367 +}
  1368 +
  1369 +type EmailDelRsp struct {
  1370 + state protoimpl.MessageState
  1371 + sizeCache protoimpl.SizeCache
  1372 + unknownFields protoimpl.UnknownFields
  1373 +
  1374 + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
  1375 +}
  1376 +
  1377 +func (x *EmailDelRsp) Reset() {
  1378 + *x = EmailDelRsp{}
  1379 + if protoimpl.UnsafeEnabled {
  1380 + mi := &file_game_proto_msgTypes[26]
  1381 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1382 + ms.StoreMessageInfo(mi)
  1383 + }
  1384 +}
  1385 +
  1386 +func (x *EmailDelRsp) String() string {
  1387 + return protoimpl.X.MessageStringOf(x)
  1388 +}
  1389 +
  1390 +func (*EmailDelRsp) ProtoMessage() {}
  1391 +
  1392 +func (x *EmailDelRsp) ProtoReflect() protoreflect.Message {
  1393 + mi := &file_game_proto_msgTypes[26]
  1394 + if protoimpl.UnsafeEnabled && x != nil {
  1395 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1396 + if ms.LoadMessageInfo() == nil {
  1397 + ms.StoreMessageInfo(mi)
  1398 + }
  1399 + return ms
  1400 + }
  1401 + return mi.MessageOf(x)
  1402 +}
  1403 +
  1404 +// Deprecated: Use EmailDelRsp.ProtoReflect.Descriptor instead.
  1405 +func (*EmailDelRsp) Descriptor() ([]byte, []int) {
  1406 + return file_game_proto_rawDescGZIP(), []int{26}
  1407 +}
  1408 +
  1409 +func (x *EmailDelRsp) GetIds() []string {
  1410 + if x != nil {
  1411 + return x.Ids
  1412 + }
  1413 + return nil
  1414 +}
  1415 +
1097 1416 var File_game_proto protoreflect.FileDescriptor
1098 1417  
1099 1418 var file_game_proto_rawDesc = []byte{
... ... @@ -1185,8 +1504,23 @@ var file_game_proto_rawDesc = []byte{
1185 1504 0x65, 0x6d, 0x73, 0x22, 0x32, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x55, 0x70, 0x4c, 0x65, 0x76,
1186 1505 0x65, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20,
1187 1506 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x48, 0x65, 0x72,
1188   - 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62,
1189   - 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1507 + 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x0e, 0x0a, 0x0c, 0x45, 0x6d, 0x61, 0x69, 0x6c,
  1508 + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x35, 0x0a, 0x0c, 0x45, 0x6d, 0x61, 0x69, 0x6c,
  1509 + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x06, 0x65, 0x6d, 0x61, 0x69, 0x6c,
  1510 + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
  1511 + 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x06, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x1e,
  1512 + 0x0a, 0x0c, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x44, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x12, 0x0e,
  1513 + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x38,
  1514 + 0x0a, 0x0c, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x44, 0x72, 0x61, 0x77, 0x52, 0x73, 0x70, 0x12, 0x10,
  1515 + 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73,
  1516 + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1517 + 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x1f, 0x0a, 0x0d, 0x45, 0x6d, 0x61, 0x69,
  1518 + 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
  1519 + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x0d, 0x0a, 0x0b, 0x45, 0x6d, 0x61,
  1520 + 0x69, 0x6c, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x22, 0x1f, 0x0a, 0x0b, 0x45, 0x6d, 0x61, 0x69,
  1521 + 0x6c, 0x44, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01,
  1522 + 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f,
  1523 + 0x70, 0x62, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1190 1524 }
1191 1525  
1192 1526 var (
... ... @@ -1201,7 +1535,7 @@ func file_game_proto_rawDescGZIP() []byte {
1201 1535 return file_game_proto_rawDescData
1202 1536 }
1203 1537  
1204   -var file_game_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
  1538 +var file_game_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
1205 1539 var file_game_proto_goTypes = []interface{}{
1206 1540 (*HeartReq)(nil), // 0: game.HeartReq
1207 1541 (*HeartRsp)(nil), // 1: game.HeartRsp
... ... @@ -1223,27 +1557,36 @@ var file_game_proto_goTypes = []interface{}{
1223 1557 (*EquipmentAddNty)(nil), // 17: game.EquipmentAddNty
1224 1558 (*HeroUpLevelReq)(nil), // 18: game.HeroUpLevelReq
1225 1559 (*HeroUpLevelRsp)(nil), // 19: game.HeroUpLevelRsp
1226   - (*Role)(nil), // 20: models.Role
1227   - (*Hero)(nil), // 21: models.Hero
1228   - (*Team)(nil), // 22: models.Team
1229   - (*Equipment)(nil), // 23: models.Equipment
  1560 + (*EmailListReq)(nil), // 20: game.EmailListReq
  1561 + (*EmailListRsp)(nil), // 21: game.EmailListRsp
  1562 + (*EmailDrawReq)(nil), // 22: game.EmailDrawReq
  1563 + (*EmailDrawRsp)(nil), // 23: game.EmailDrawRsp
  1564 + (*EmailCheckRar)(nil), // 24: game.EmailCheckRar
  1565 + (*EmailDelReq)(nil), // 25: game.EmailDelReq
  1566 + (*EmailDelRsp)(nil), // 26: game.EmailDelRsp
  1567 + (*Role)(nil), // 27: models.Role
  1568 + (*Hero)(nil), // 28: models.Hero
  1569 + (*Team)(nil), // 29: models.Team
  1570 + (*Equipment)(nil), // 30: models.Equipment
  1571 + (*Email)(nil), // 31: models.Email
1230 1572 }
1231 1573 var file_game_proto_depIdxs = []int32{
1232   - 20, // 0: game.LoginRsp.role:type_name -> models.Role
1233   - 21, // 1: game.LoginRsp.hero:type_name -> models.Hero
1234   - 22, // 2: game.LoginRsp.team:type_name -> models.Team
1235   - 23, // 3: game.LoginRsp.equipments:type_name -> models.Equipment
1236   - 22, // 4: game.ChangeTeamRar.team:type_name -> models.Team
  1574 + 27, // 0: game.LoginRsp.role:type_name -> models.Role
  1575 + 28, // 1: game.LoginRsp.hero:type_name -> models.Hero
  1576 + 29, // 2: game.LoginRsp.team:type_name -> models.Team
  1577 + 30, // 3: game.LoginRsp.equipments:type_name -> models.Equipment
  1578 + 29, // 4: game.ChangeTeamRar.team:type_name -> models.Team
1237 1579 7, // 5: game.HeroEquipReferRar.equipIds:type_name -> game.EquipInfo
1238   - 20, // 6: game.RoleUpdatePropertyNty.role:type_name -> models.Role
1239   - 21, // 7: game.RoleEndBattleRsp.hero:type_name -> models.Hero
1240   - 23, // 8: game.EquipmentAddNty.equip:type_name -> models.Equipment
1241   - 21, // 9: game.HeroUpLevelRsp.hero:type_name -> models.Hero
1242   - 10, // [10:10] is the sub-list for method output_type
1243   - 10, // [10:10] is the sub-list for method input_type
1244   - 10, // [10:10] is the sub-list for extension type_name
1245   - 10, // [10:10] is the sub-list for extension extendee
1246   - 0, // [0:10] is the sub-list for field type_name
  1580 + 27, // 6: game.RoleUpdatePropertyNty.role:type_name -> models.Role
  1581 + 28, // 7: game.RoleEndBattleRsp.hero:type_name -> models.Hero
  1582 + 30, // 8: game.EquipmentAddNty.equip:type_name -> models.Equipment
  1583 + 28, // 9: game.HeroUpLevelRsp.hero:type_name -> models.Hero
  1584 + 31, // 10: game.EmailListRsp.emails:type_name -> models.Email
  1585 + 11, // [11:11] is the sub-list for method output_type
  1586 + 11, // [11:11] is the sub-list for method input_type
  1587 + 11, // [11:11] is the sub-list for extension type_name
  1588 + 11, // [11:11] is the sub-list for extension extendee
  1589 + 0, // [0:11] is the sub-list for field type_name
1247 1590 }
1248 1591  
1249 1592 func init() { file_game_proto_init() }
... ... @@ -1493,6 +1836,90 @@ func file_game_proto_init() {
1493 1836 return nil
1494 1837 }
1495 1838 }
  1839 + file_game_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  1840 + switch v := v.(*EmailListReq); i {
  1841 + case 0:
  1842 + return &v.state
  1843 + case 1:
  1844 + return &v.sizeCache
  1845 + case 2:
  1846 + return &v.unknownFields
  1847 + default:
  1848 + return nil
  1849 + }
  1850 + }
  1851 + file_game_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  1852 + switch v := v.(*EmailListRsp); i {
  1853 + case 0:
  1854 + return &v.state
  1855 + case 1:
  1856 + return &v.sizeCache
  1857 + case 2:
  1858 + return &v.unknownFields
  1859 + default:
  1860 + return nil
  1861 + }
  1862 + }
  1863 + file_game_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  1864 + switch v := v.(*EmailDrawReq); i {
  1865 + case 0:
  1866 + return &v.state
  1867 + case 1:
  1868 + return &v.sizeCache
  1869 + case 2:
  1870 + return &v.unknownFields
  1871 + default:
  1872 + return nil
  1873 + }
  1874 + }
  1875 + file_game_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  1876 + switch v := v.(*EmailDrawRsp); i {
  1877 + case 0:
  1878 + return &v.state
  1879 + case 1:
  1880 + return &v.sizeCache
  1881 + case 2:
  1882 + return &v.unknownFields
  1883 + default:
  1884 + return nil
  1885 + }
  1886 + }
  1887 + file_game_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  1888 + switch v := v.(*EmailCheckRar); i {
  1889 + case 0:
  1890 + return &v.state
  1891 + case 1:
  1892 + return &v.sizeCache
  1893 + case 2:
  1894 + return &v.unknownFields
  1895 + default:
  1896 + return nil
  1897 + }
  1898 + }
  1899 + file_game_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  1900 + switch v := v.(*EmailDelReq); i {
  1901 + case 0:
  1902 + return &v.state
  1903 + case 1:
  1904 + return &v.sizeCache
  1905 + case 2:
  1906 + return &v.unknownFields
  1907 + default:
  1908 + return nil
  1909 + }
  1910 + }
  1911 + file_game_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  1912 + switch v := v.(*EmailDelRsp); i {
  1913 + case 0:
  1914 + return &v.state
  1915 + case 1:
  1916 + return &v.sizeCache
  1917 + case 2:
  1918 + return &v.unknownFields
  1919 + default:
  1920 + return nil
  1921 + }
  1922 + }
1496 1923 }
1497 1924 type x struct{}
1498 1925 out := protoimpl.TypeBuilder{
... ... @@ -1500,7 +1927,7 @@ func file_game_proto_init() {
1500 1927 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1501 1928 RawDescriptor: file_game_proto_rawDesc,
1502 1929 NumEnums: 0,
1503   - NumMessages: 20,
  1930 + NumMessages: 27,
1504 1931 NumExtensions: 0,
1505 1932 NumServices: 0,
1506 1933 },
... ...
pb/models.pb.go
... ... @@ -25,8 +25,26 @@ type LogConf struct {
25 25 sizeCache protoimpl.SizeCache
26 26 unknownFields protoimpl.UnknownFields
27 27  
28   - Typ string `protobuf:"bytes,1,opt,name=typ,proto3" json:"typ,omitempty"`
29   - Ucode string `protobuf:"bytes,2,opt,name=ucode,proto3" json:"ucode,omitempty"`
  28 + Typ string `protobuf:"bytes,1,opt,name=typ,proto3" json:"typ,omitempty"`
  29 + Desc string `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"`
  30 + Ucode string `protobuf:"bytes,3,opt,name=ucode,proto3" json:"ucode,omitempty"`
  31 + Key1 string `protobuf:"bytes,4,opt,name=key1,proto3" json:"key1,omitempty"`
  32 + Key2 string `protobuf:"bytes,6,opt,name=key2,proto3" json:"key2,omitempty"`
  33 + Text string `protobuf:"bytes,7,opt,name=text,proto3" json:"text,omitempty"`
  34 + Short1 int32 `protobuf:"varint,8,opt,name=short1,proto3" json:"short1,omitempty"`
  35 + Int1 string `protobuf:"bytes,9,opt,name=int1,proto3" json:"int1,omitempty"`
  36 + Int2 string `protobuf:"bytes,10,opt,name=int2,proto3" json:"int2,omitempty"`
  37 + Long1 int64 `protobuf:"varint,11,opt,name=long1,proto3" json:"long1,omitempty"`
  38 + Float1 float32 `protobuf:"fixed32,12,opt,name=float1,proto3" json:"float1,omitempty"`
  39 + Cint1 int64 `protobuf:"varint,13,opt,name=cint1,proto3" json:"cint1,omitempty"`
  40 + Cint2 int64 `protobuf:"varint,14,opt,name=cint2,proto3" json:"cint2,omitempty"`
  41 + Cint3 int64 `protobuf:"varint,15,opt,name=cint3,proto3" json:"cint3,omitempty"`
  42 + // common role
  43 + Id string `protobuf:"bytes,20,opt,name=id,proto3" json:"id,omitempty"`
  44 + Name string `protobuf:"bytes,21,opt,name=name,proto3" json:"name,omitempty"`
  45 + Uid string `protobuf:"bytes,22,opt,name=uid,proto3" json:"uid,omitempty"`
  46 + Level int32 `protobuf:"varint,23,opt,name=level,proto3" json:"level,omitempty"`
  47 + Device string `protobuf:"bytes,24,opt,name=device,proto3" json:"device,omitempty"`
30 48 }
31 49  
32 50 func (x *LogConf) Reset() {
... ... @@ -68,6 +86,13 @@ func (x *LogConf) GetTyp() string {
68 86 return ""
69 87 }
70 88  
  89 +func (x *LogConf) GetDesc() string {
  90 + if x != nil {
  91 + return x.Desc
  92 + }
  93 + return ""
  94 +}
  95 +
71 96 func (x *LogConf) GetUcode() string {
72 97 if x != nil {
73 98 return x.Ucode
... ... @@ -75,6 +100,118 @@ func (x *LogConf) GetUcode() string {
75 100 return ""
76 101 }
77 102  
  103 +func (x *LogConf) GetKey1() string {
  104 + if x != nil {
  105 + return x.Key1
  106 + }
  107 + return ""
  108 +}
  109 +
  110 +func (x *LogConf) GetKey2() string {
  111 + if x != nil {
  112 + return x.Key2
  113 + }
  114 + return ""
  115 +}
  116 +
  117 +func (x *LogConf) GetText() string {
  118 + if x != nil {
  119 + return x.Text
  120 + }
  121 + return ""
  122 +}
  123 +
  124 +func (x *LogConf) GetShort1() int32 {
  125 + if x != nil {
  126 + return x.Short1
  127 + }
  128 + return 0
  129 +}
  130 +
  131 +func (x *LogConf) GetInt1() string {
  132 + if x != nil {
  133 + return x.Int1
  134 + }
  135 + return ""
  136 +}
  137 +
  138 +func (x *LogConf) GetInt2() string {
  139 + if x != nil {
  140 + return x.Int2
  141 + }
  142 + return ""
  143 +}
  144 +
  145 +func (x *LogConf) GetLong1() int64 {
  146 + if x != nil {
  147 + return x.Long1
  148 + }
  149 + return 0
  150 +}
  151 +
  152 +func (x *LogConf) GetFloat1() float32 {
  153 + if x != nil {
  154 + return x.Float1
  155 + }
  156 + return 0
  157 +}
  158 +
  159 +func (x *LogConf) GetCint1() int64 {
  160 + if x != nil {
  161 + return x.Cint1
  162 + }
  163 + return 0
  164 +}
  165 +
  166 +func (x *LogConf) GetCint2() int64 {
  167 + if x != nil {
  168 + return x.Cint2
  169 + }
  170 + return 0
  171 +}
  172 +
  173 +func (x *LogConf) GetCint3() int64 {
  174 + if x != nil {
  175 + return x.Cint3
  176 + }
  177 + return 0
  178 +}
  179 +
  180 +func (x *LogConf) GetId() string {
  181 + if x != nil {
  182 + return x.Id
  183 + }
  184 + return ""
  185 +}
  186 +
  187 +func (x *LogConf) GetName() string {
  188 + if x != nil {
  189 + return x.Name
  190 + }
  191 + return ""
  192 +}
  193 +
  194 +func (x *LogConf) GetUid() string {
  195 + if x != nil {
  196 + return x.Uid
  197 + }
  198 + return ""
  199 +}
  200 +
  201 +func (x *LogConf) GetLevel() int32 {
  202 + if x != nil {
  203 + return x.Level
  204 + }
  205 + return 0
  206 +}
  207 +
  208 +func (x *LogConf) GetDevice() string {
  209 + if x != nil {
  210 + return x.Device
  211 + }
  212 + return ""
  213 +}
  214 +
78 215 type Account struct {
79 216 state protoimpl.MessageState
80 217 sizeCache protoimpl.SizeCache
... ... @@ -391,17 +528,20 @@ func (x *Equipment) GetPos() int32 {
391 528 return 0
392 529 }
393 530  
394   -type Prop struct {
  531 +type Team struct {
395 532 state protoimpl.MessageState
396 533 sizeCache protoimpl.SizeCache
397 534 unknownFields protoimpl.UnknownFields
398 535  
399   - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" index:"unique" pri:"1"` // @inject_tag: index:"unique" pri:"1"
400   - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
  536 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" index:"unique" pri:"1"` // @inject_tag: index:"unique" pri:"1"
  537 + RoleId string `protobuf:"bytes,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"`
  538 + HeroId1 string `protobuf:"bytes,3,opt,name=hero_id1,json=heroId1,proto3" json:"hero_id1,omitempty"`
  539 + HeroId2 string `protobuf:"bytes,4,opt,name=hero_id2,json=heroId2,proto3" json:"hero_id2,omitempty"`
  540 + HeroId3 string `protobuf:"bytes,5,opt,name=hero_id3,json=heroId3,proto3" json:"hero_id3,omitempty"`
401 541 }
402 542  
403   -func (x *Prop) Reset() {
404   - *x = Prop{}
  543 +func (x *Team) Reset() {
  544 + *x = Team{}
405 545 if protoimpl.UnsafeEnabled {
406 546 mi := &file_models_proto_msgTypes[5]
407 547 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
... ... @@ -409,13 +549,13 @@ func (x *Prop) Reset() {
409 549 }
410 550 }
411 551  
412   -func (x *Prop) String() string {
  552 +func (x *Team) String() string {
413 553 return protoimpl.X.MessageStringOf(x)
414 554 }
415 555  
416   -func (*Prop) ProtoMessage() {}
  556 +func (*Team) ProtoMessage() {}
417 557  
418   -func (x *Prop) ProtoReflect() protoreflect.Message {
  558 +func (x *Team) ProtoReflect() protoreflect.Message {
419 559 mi := &file_models_proto_msgTypes[5]
420 560 if protoimpl.UnsafeEnabled && x != nil {
421 561 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
... ... @@ -427,39 +567,63 @@ func (x *Prop) ProtoReflect() protoreflect.Message {
427 567 return mi.MessageOf(x)
428 568 }
429 569  
430   -// Deprecated: Use Prop.ProtoReflect.Descriptor instead.
431   -func (*Prop) Descriptor() ([]byte, []int) {
  570 +// Deprecated: Use Team.ProtoReflect.Descriptor instead.
  571 +func (*Team) Descriptor() ([]byte, []int) {
432 572 return file_models_proto_rawDescGZIP(), []int{5}
433 573 }
434 574  
435   -func (x *Prop) GetId() string {
  575 +func (x *Team) GetId() string {
436 576 if x != nil {
437 577 return x.Id
438 578 }
439 579 return ""
440 580 }
441 581  
442   -func (x *Prop) GetCount() int64 {
  582 +func (x *Team) GetRoleId() string {
  583 + if x != nil {
  584 + return x.RoleId
  585 + }
  586 + return ""
  587 +}
  588 +
  589 +func (x *Team) GetHeroId1() string {
443 590 if x != nil {
444   - return x.Count
  591 + return x.HeroId1
445 592 }
446   - return 0
  593 + return ""
447 594 }
448 595  
449   -type Team struct {
  596 +func (x *Team) GetHeroId2() string {
  597 + if x != nil {
  598 + return x.HeroId2
  599 + }
  600 + return ""
  601 +}
  602 +
  603 +func (x *Team) GetHeroId3() string {
  604 + if x != nil {
  605 + return x.HeroId3
  606 + }
  607 + return ""
  608 +}
  609 +
  610 +type Email struct {
450 611 state protoimpl.MessageState
451 612 sizeCache protoimpl.SizeCache
452 613 unknownFields protoimpl.UnknownFields
453 614  
454   - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" index:"unique" pri:"1"` // @inject_tag: index:"unique" pri:"1"
455   - RoleId string `protobuf:"bytes,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"`
456   - HeroId1 string `protobuf:"bytes,3,opt,name=hero_id1,json=heroId1,proto3" json:"hero_id1,omitempty"`
457   - HeroId2 string `protobuf:"bytes,4,opt,name=hero_id2,json=heroId2,proto3" json:"hero_id2,omitempty"`
458   - HeroId3 string `protobuf:"bytes,5,opt,name=hero_id3,json=heroId3,proto3" json:"hero_id3,omitempty"`
  615 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" index:"unique" pri:"1"` // @inject_tag: index:"unique" pri:"1"
  616 + RoleId string `protobuf:"bytes,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"`
  617 + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` // 标题
  618 + Stitle string `protobuf:"bytes,4,opt,name=stitle,proto3" json:"stitle,omitempty"` // 小标题
  619 + Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` // 邮件正文
  620 + Attachments string `protobuf:"bytes,6,opt,name=attachments,proto3" json:"attachments,omitempty"` // 邮件附件
  621 + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` // 邮件状态: 0未读, 1已读,2 已领取
  622 + CreateTime int64 `protobuf:"varint,8,opt,name=createTime,proto3" json:"createTime,omitempty"`
459 623 }
460 624  
461   -func (x *Team) Reset() {
462   - *x = Team{}
  625 +func (x *Email) Reset() {
  626 + *x = Email{}
463 627 if protoimpl.UnsafeEnabled {
464 628 mi := &file_models_proto_msgTypes[6]
465 629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
... ... @@ -467,13 +631,13 @@ func (x *Team) Reset() {
467 631 }
468 632 }
469 633  
470   -func (x *Team) String() string {
  634 +func (x *Email) String() string {
471 635 return protoimpl.X.MessageStringOf(x)
472 636 }
473 637  
474   -func (*Team) ProtoMessage() {}
  638 +func (*Email) ProtoMessage() {}
475 639  
476   -func (x *Team) ProtoReflect() protoreflect.Message {
  640 +func (x *Email) ProtoReflect() protoreflect.Message {
477 641 mi := &file_models_proto_msgTypes[6]
478 642 if protoimpl.UnsafeEnabled && x != nil {
479 643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
... ... @@ -485,46 +649,67 @@ func (x *Team) ProtoReflect() protoreflect.Message {
485 649 return mi.MessageOf(x)
486 650 }
487 651  
488   -// Deprecated: Use Team.ProtoReflect.Descriptor instead.
489   -func (*Team) Descriptor() ([]byte, []int) {
  652 +// Deprecated: Use Email.ProtoReflect.Descriptor instead.
  653 +func (*Email) Descriptor() ([]byte, []int) {
490 654 return file_models_proto_rawDescGZIP(), []int{6}
491 655 }
492 656  
493   -func (x *Team) GetId() string {
  657 +func (x *Email) GetId() string {
494 658 if x != nil {
495 659 return x.Id
496 660 }
497 661 return ""
498 662 }
499 663  
500   -func (x *Team) GetRoleId() string {
  664 +func (x *Email) GetRoleId() string {
501 665 if x != nil {
502 666 return x.RoleId
503 667 }
504 668 return ""
505 669 }
506 670  
507   -func (x *Team) GetHeroId1() string {
  671 +func (x *Email) GetTitle() string {
508 672 if x != nil {
509   - return x.HeroId1
  673 + return x.Title
510 674 }
511 675 return ""
512 676 }
513 677  
514   -func (x *Team) GetHeroId2() string {
  678 +func (x *Email) GetStitle() string {
515 679 if x != nil {
516   - return x.HeroId2
  680 + return x.Stitle
517 681 }
518 682 return ""
519 683 }
520 684  
521   -func (x *Team) GetHeroId3() string {
  685 +func (x *Email) GetContent() string {
522 686 if x != nil {
523   - return x.HeroId3
  687 + return x.Content
  688 + }
  689 + return ""
  690 +}
  691 +
  692 +func (x *Email) GetAttachments() string {
  693 + if x != nil {
  694 + return x.Attachments
524 695 }
525 696 return ""
526 697 }
527 698  
  699 +func (x *Email) GetStatus() int32 {
  700 + if x != nil {
  701 + return x.Status
  702 + }
  703 + return 0
  704 +}
  705 +
  706 +func (x *Email) GetCreateTime() int64 {
  707 + if x != nil {
  708 + return x.CreateTime
  709 + }
  710 + return 0
  711 +}
  712 +
528 713 type Increment struct {
529 714 state protoimpl.MessageState
530 715 sizeCache protoimpl.SizeCache
... ... @@ -775,99 +960,132 @@ var File_models_proto protoreflect.FileDescriptor
775 960  
776 961 var file_models_proto_rawDesc = []byte{
777 962 0x0a, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06,
778   - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x22, 0x31, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e,
779   - 0x66, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x79, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
780   - 0x74, 0x79, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
781   - 0x28, 0x09, 0x52, 0x05, 0x75, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x4d, 0x0a, 0x07, 0x41, 0x63, 0x63,
782   - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20,
783   - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
784   - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61,
785   - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20,
786   - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x32, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66,
787   - 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
788   - 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
789   - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xc9, 0x01, 0x0a,
790   - 0x04, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
791   - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64,
792   - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12,
793   - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79,
794   - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
795   - 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x69, 0x6e,
796   - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65,
797   - 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x69, 0x6e, 0x5f,
798   - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x69,
799   - 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d,
800   - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x71, 0x75, 0x69,
801   - 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x08, 0x20,
802   - 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x22, 0xb3, 0x01, 0x0a, 0x09, 0x45, 0x71, 0x75,
803   - 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
804   - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69,
805   - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12,
806   - 0x13, 0x0a, 0x05, 0x74, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
807   - 0x74, 0x62, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x5f,
808   - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x68,
809   - 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72,
810   - 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f,
811   - 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20,
812   - 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03,
813   - 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x22, 0x2c,
814   - 0x0a, 0x04, 0x50, 0x72, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
815   - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
816   - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x80, 0x01, 0x0a,
817   - 0x04, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
818   - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64,
819   - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19,
820   - 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
821   - 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x31, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x72,
822   - 0x6f, 0x5f, 0x69, 0x64, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x72,
823   - 0x6f, 0x49, 0x64, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x33,
824   - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x33, 0x22,
825   - 0x2f, 0x0a, 0x09, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03,
826   - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x10,
827   - 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c,
828   - 0x22, 0x99, 0x05, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
829   - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
830   - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64,
831   - 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76,
832   - 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28,
833   - 0x09, 0x52, 0x04, 0x6e, 0x69, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
834   - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a,
835   - 0x03, 0x65, 0x78, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12,
836   - 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x68, 0x70, 0x12,
837   - 0x15, 0x0a, 0x06, 0x68, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
838   - 0x05, 0x68, 0x70, 0x4d, 0x61, 0x78, 0x12, 0x13, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x5f, 0x72, 0x18,
839   - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x75, 0x79, 0x52, 0x12, 0x13, 0x0a, 0x05, 0x70,
840   - 0x61, 0x79, 0x5f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x79, 0x52,
841   - 0x12, 0x10, 0x0a, 0x03, 0x64, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x64,
842   - 0x65, 0x6c, 0x12, 0x30, 0x0a, 0x06, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03,
843   - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65,
844   - 0x2e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x69, 0x6e,
845   - 0x63, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0f, 0x20,
846   - 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6c,
847   - 0x6f, 0x74, 0x68, 0x65, 0x73, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d,
848   - 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x74, 0x68, 0x65, 0x73, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22,
849   - 0x0a, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x11,
850   - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x6c, 0x69, 0x6d,
851   - 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74,
852   - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x6c, 0x69, 0x6d,
853   - 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x72, 0x79, 0x6c, 0x69, 0x6d,
854   - 0x69, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x72,
855   - 0x79, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69,
856   - 0x61, 0x6c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d,
857   - 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x0c,
858   - 0x70, 0x61, 0x73, 0x73, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x15, 0x20, 0x03,
859   - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65,
860   - 0x2e, 0x50, 0x61, 0x73, 0x73, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74,
861   - 0x72, 0x79, 0x52, 0x0c, 0x70, 0x61, 0x73, 0x73, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73,
862   - 0x1a, 0x39, 0x0a, 0x0b, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
863   - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
864   - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
865   - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x50,
866   - 0x61, 0x73, 0x73, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
867   - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
868   - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
869   - 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
870   - 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  963 + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x22, 0x95, 0x03, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x43, 0x6f,
  964 + 0x6e, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x79, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  965 + 0x03, 0x74, 0x79, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01,
  966 + 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x63, 0x6f, 0x64,
  967 + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12,
  968 + 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65,
  969 + 0x79, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
  970 + 0x52, 0x04, 0x6b, 0x65, 0x79, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x07,
  971 + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68,
  972 + 0x6f, 0x72, 0x74, 0x31, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x68, 0x6f, 0x72,
  973 + 0x74, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x74, 0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
  974 + 0x52, 0x04, 0x69, 0x6e, 0x74, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x74, 0x32, 0x18, 0x0a,
  975 + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x74, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f,
  976 + 0x6e, 0x67, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x6e, 0x67, 0x31,
  977 + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x31, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02,
  978 + 0x52, 0x06, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x69, 0x6e, 0x74,
  979 + 0x31, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x69, 0x6e, 0x74, 0x31, 0x12, 0x14,
  980 + 0x0a, 0x05, 0x63, 0x69, 0x6e, 0x74, 0x32, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63,
  981 + 0x69, 0x6e, 0x74, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x69, 0x6e, 0x74, 0x33, 0x18, 0x0f, 0x20,
  982 + 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x69, 0x6e, 0x74, 0x33, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
  983 + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
  984 + 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10,
  985 + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
  986 + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52,
  987 + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
  988 + 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x4d,
  989 + 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f,
  990 + 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12,
  991 + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  992 + 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75,
  993 + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x32, 0x0a,
  994 + 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
  995 + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
  996 + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
  997 + 0x6e, 0x22, 0xc9, 0x01, 0x0a, 0x04, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
  998 + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f,
  999 + 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6c,
  1000 + 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  1001 + 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
  1002 + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a,
  1003 + 0x0a, 0x72, 0x65, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
  1004 + 0x05, 0x52, 0x09, 0x72, 0x65, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
  1005 + 0x72, 0x65, 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
  1006 + 0x52, 0x09, 0x72, 0x65, 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65,
  1007 + 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
  1008 + 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65,
  1009 + 0x78, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x22, 0xb3, 0x01,
  1010 + 0x0a, 0x09, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
  1011 + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72,
  1012 + 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f,
  1013 + 0x6c, 0x65, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
  1014 + 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x62, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x68,
  1015 + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
  1016 + 0x52, 0x0c, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17,
  1017 + 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
  1018 + 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69,
  1019 + 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74,
  1020 + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
  1021 + 0x70, 0x6f, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x04, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02,
  1022 + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07,
  1023 + 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
  1024 + 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64,
  1025 + 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x31,
  1026 + 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x32, 0x18, 0x04, 0x20, 0x01,
  1027 + 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x68,
  1028 + 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x33, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68,
  1029 + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x33, 0x22, 0xd2, 0x01, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c,
  1030 + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
  1031 + 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  1032 + 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74,
  1033 + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12,
  1034 + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
  1035 + 0x06, 0x73, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
  1036 + 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
  1037 + 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73,
  1038 + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65,
  1039 + 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20,
  1040 + 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
  1041 + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
  1042 + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x2f, 0x0a, 0x09, 0x49,
  1043 + 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
  1044 + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61,
  1045 + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x99, 0x05, 0x0a,
  1046 + 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  1047 + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
  1048 + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63,
  1049 + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12,
  1050 + 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
  1051 + 0x69, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01,
  1052 + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70,
  1053 + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x68,
  1054 + 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x68, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x68,
  1055 + 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x68, 0x70, 0x4d,
  1056 + 0x61, 0x78, 0x12, 0x13, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x5f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28,
  1057 + 0x09, 0x52, 0x04, 0x62, 0x75, 0x79, 0x52, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x5f, 0x72,
  1058 + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x79, 0x52, 0x12, 0x10, 0x0a, 0x03,
  1059 + 0x64, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x64, 0x65, 0x6c, 0x12, 0x30,
  1060 + 0x0a, 0x06, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
  1061 + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x49, 0x6e, 0x63,
  1062 + 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x73,
  1063 + 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52,
  1064 + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x74, 0x68, 0x65,
  1065 + 0x73, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6c,
  1066 + 0x6f, 0x74, 0x68, 0x65, 0x73, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65,
  1067 + 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d,
  1068 + 0x52, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e,
  1069 + 0x0a, 0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x12, 0x20, 0x01,
  1070 + 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22,
  1071 + 0x0a, 0x0c, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x72, 0x79, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x13,
  1072 + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x72, 0x79, 0x6c, 0x69, 0x6d,
  1073 + 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6c, 0x69,
  1074 + 0x6d, 0x69, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x65, 0x72,
  1075 + 0x69, 0x61, 0x6c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x73,
  1076 + 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
  1077 + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x50, 0x61, 0x73,
  1078 + 0x73, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c,
  1079 + 0x70, 0x61, 0x73, 0x73, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b,
  1080 + 0x49, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
  1081 + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
  1082 + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
  1083 + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x50, 0x61, 0x73, 0x73, 0x63,
  1084 + 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  1085 + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
  1086 + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
  1087 + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70,
  1088 + 0x62, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
871 1089 }
872 1090  
873 1091 var (
... ... @@ -889,8 +1107,8 @@ var file_models_proto_goTypes = []interface{}{
889 1107 (*Config)(nil), // 2: models.Config
890 1108 (*Hero)(nil), // 3: models.Hero
891 1109 (*Equipment)(nil), // 4: models.Equipment
892   - (*Prop)(nil), // 5: models.Prop
893   - (*Team)(nil), // 6: models.Team
  1110 + (*Team)(nil), // 5: models.Team
  1111 + (*Email)(nil), // 6: models.Email
894 1112 (*Increment)(nil), // 7: models.Increment
895 1113 (*Role)(nil), // 8: models.Role
896 1114 nil, // 9: models.Role.IncresEntry
... ... @@ -973,7 +1191,7 @@ func file_models_proto_init() {
973 1191 }
974 1192 }
975 1193 file_models_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
976   - switch v := v.(*Prop); i {
  1194 + switch v := v.(*Team); i {
977 1195 case 0:
978 1196 return &v.state
979 1197 case 1:
... ... @@ -985,7 +1203,7 @@ func file_models_proto_init() {
985 1203 }
986 1204 }
987 1205 file_models_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
988   - switch v := v.(*Team); i {
  1206 + switch v := v.(*Email); i {
989 1207 case 0:
990 1208 return &v.state
991 1209 case 1:
... ...
pb/protocode.pb.go
... ... @@ -24,57 +24,69 @@ type ProtoCode int32
24 24  
25 25 const (
26 26 ProtoCode_UNKNOWN ProtoCode = 0
27   - ProtoCode_HeartRpc ProtoCode = 1
28   - ProtoCode_LoginRpc ProtoCode = 2
29   - ProtoCode_RoleStartBattleRpc ProtoCode = 3
30   - ProtoCode_RoleEndBattleRpc ProtoCode = 4
31   - ProtoCode_HeroUpLevelRpc ProtoCode = 5
32   - ProtoCode_CreateRpc ProtoCode = 6
33   - ProtoCode_ChangeTeamRpc ProtoCode = 7
34   - ProtoCode_HeroEquipReferRpc ProtoCode = 8
35   - ProtoCode_RoleClearItemsRpc ProtoCode = 9
36   - ProtoCode_EquipmentDelRpc ProtoCode = 10
37   - ProtoCode_DisConnectNty ProtoCode = 11
38   - ProtoCode_RoleUpdatePropertyNty ProtoCode = 12
39   - ProtoCode_RoleUpdateItemsNty ProtoCode = 13
40   - ProtoCode_EquipmentAddNty ProtoCode = 14
  27 + ProtoCode_HeartRpc ProtoCode = 501
  28 + ProtoCode_LoginRpc ProtoCode = 502
  29 + ProtoCode_CreateRpc ProtoCode = 503
  30 + ProtoCode_ChangeTeamRpc ProtoCode = 504
  31 + ProtoCode_HeroEquipReferRpc ProtoCode = 505
  32 + ProtoCode_RoleClearItemsRpc ProtoCode = 506
  33 + ProtoCode_RoleStartBattleRpc ProtoCode = 507
  34 + ProtoCode_RoleEndBattleRpc ProtoCode = 508
  35 + ProtoCode_EquipmentDelRpc ProtoCode = 509
  36 + ProtoCode_HeroUpLevelRpc ProtoCode = 510
  37 + ProtoCode_EmailListRpc ProtoCode = 511
  38 + ProtoCode_EmailDrawRpc ProtoCode = 512
  39 + ProtoCode_EmailCheckRpc ProtoCode = 513
  40 + ProtoCode_EmailDelRpc ProtoCode = 514
  41 + ProtoCode_DisConnectNty ProtoCode = 1001
  42 + ProtoCode_RoleUpdatePropertyNty ProtoCode = 1002
  43 + ProtoCode_RoleUpdateItemsNty ProtoCode = 1003
  44 + ProtoCode_EquipmentAddNty ProtoCode = 1004
41 45 )
42 46  
43 47 // Enum value maps for ProtoCode.
44 48 var (
45 49 ProtoCode_name = map[int32]string{
46   - 0: "UNKNOWN",
47   - 1: "HeartRpc",
48   - 2: "LoginRpc",
49   - 3: "RoleStartBattleRpc",
50   - 4: "RoleEndBattleRpc",
51   - 5: "HeroUpLevelRpc",
52   - 6: "CreateRpc",
53   - 7: "ChangeTeamRpc",
54   - 8: "HeroEquipReferRpc",
55   - 9: "RoleClearItemsRpc",
56   - 10: "EquipmentDelRpc",
57   - 11: "DisConnectNty",
58   - 12: "RoleUpdatePropertyNty",
59   - 13: "RoleUpdateItemsNty",
60   - 14: "EquipmentAddNty",
  50 + 0: "UNKNOWN",
  51 + 501: "HeartRpc",
  52 + 502: "LoginRpc",
  53 + 503: "CreateRpc",
  54 + 504: "ChangeTeamRpc",
  55 + 505: "HeroEquipReferRpc",
  56 + 506: "RoleClearItemsRpc",
  57 + 507: "RoleStartBattleRpc",
  58 + 508: "RoleEndBattleRpc",
  59 + 509: "EquipmentDelRpc",
  60 + 510: "HeroUpLevelRpc",
  61 + 511: "EmailListRpc",
  62 + 512: "EmailDrawRpc",
  63 + 513: "EmailCheckRpc",
  64 + 514: "EmailDelRpc",
  65 + 1001: "DisConnectNty",
  66 + 1002: "RoleUpdatePropertyNty",
  67 + 1003: "RoleUpdateItemsNty",
  68 + 1004: "EquipmentAddNty",
61 69 }
62 70 ProtoCode_value = map[string]int32{
63 71 "UNKNOWN": 0,
64   - "HeartRpc": 1,
65   - "LoginRpc": 2,
66   - "RoleStartBattleRpc": 3,
67   - "RoleEndBattleRpc": 4,
68   - "HeroUpLevelRpc": 5,
69   - "CreateRpc": 6,
70   - "ChangeTeamRpc": 7,
71   - "HeroEquipReferRpc": 8,
72   - "RoleClearItemsRpc": 9,
73   - "EquipmentDelRpc": 10,
74   - "DisConnectNty": 11,
75   - "RoleUpdatePropertyNty": 12,
76   - "RoleUpdateItemsNty": 13,
77   - "EquipmentAddNty": 14,
  72 + "HeartRpc": 501,
  73 + "LoginRpc": 502,
  74 + "CreateRpc": 503,
  75 + "ChangeTeamRpc": 504,
  76 + "HeroEquipReferRpc": 505,
  77 + "RoleClearItemsRpc": 506,
  78 + "RoleStartBattleRpc": 507,
  79 + "RoleEndBattleRpc": 508,
  80 + "EquipmentDelRpc": 509,
  81 + "HeroUpLevelRpc": 510,
  82 + "EmailListRpc": 511,
  83 + "EmailDrawRpc": 512,
  84 + "EmailCheckRpc": 513,
  85 + "EmailDelRpc": 514,
  86 + "DisConnectNty": 1001,
  87 + "RoleUpdatePropertyNty": 1002,
  88 + "RoleUpdateItemsNty": 1003,
  89 + "EquipmentAddNty": 1004,
78 90 }
79 91 )
80 92  
... ... @@ -109,28 +121,34 @@ var File_protocode_proto protoreflect.FileDescriptor
109 121  
110 122 var file_protocode_proto_rawDesc = []byte{
111 123 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
112   - 0x6f, 0x12, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x2a, 0xb6, 0x02, 0x0a,
  124 + 0x6f, 0x12, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x2a, 0x90, 0x03, 0x0a,
113 125 0x09, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
114   - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x65, 0x61, 0x72, 0x74,
115   - 0x52, 0x70, 0x63, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x70,
116   - 0x63, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74,
117   - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x70, 0x63, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x52,
118   - 0x6f, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x70, 0x63, 0x10,
119   - 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x55, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c,
120   - 0x52, 0x70, 0x63, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
121   - 0x70, 0x63, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65,
122   - 0x61, 0x6d, 0x52, 0x70, 0x63, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x65, 0x72, 0x6f, 0x45,
123   - 0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x52, 0x70, 0x63, 0x10, 0x08, 0x12, 0x15,
124   - 0x0a, 0x11, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73,
125   - 0x52, 0x70, 0x63, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65,
126   - 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x52, 0x70, 0x63, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x69,
127   - 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4e, 0x74, 0x79, 0x10, 0x0b, 0x12, 0x19, 0x0a,
128   - 0x15, 0x52, 0x6f, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65,
129   - 0x72, 0x74, 0x79, 0x4e, 0x74, 0x79, 0x10, 0x0c, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x6f, 0x6c, 0x65,
130   - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x74, 0x79, 0x10, 0x0d,
131   - 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64,
132   - 0x4e, 0x74, 0x79, 0x10, 0x0e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b, 0x70,
133   - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  126 + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x08, 0x48, 0x65, 0x61, 0x72, 0x74,
  127 + 0x52, 0x70, 0x63, 0x10, 0xf5, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52,
  128 + 0x70, 0x63, 0x10, 0xf6, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
  129 + 0x70, 0x63, 0x10, 0xf7, 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54,
  130 + 0x65, 0x61, 0x6d, 0x52, 0x70, 0x63, 0x10, 0xf8, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x48, 0x65, 0x72,
  131 + 0x6f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x52, 0x70, 0x63, 0x10, 0xf9,
  132 + 0x03, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x74,
  133 + 0x65, 0x6d, 0x73, 0x52, 0x70, 0x63, 0x10, 0xfa, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x52, 0x6f, 0x6c,
  134 + 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x70, 0x63, 0x10,
  135 + 0xfb, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x6f, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x42, 0x61, 0x74,
  136 + 0x74, 0x6c, 0x65, 0x52, 0x70, 0x63, 0x10, 0xfc, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x71, 0x75,
  137 + 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x52, 0x70, 0x63, 0x10, 0xfd, 0x03, 0x12,
  138 + 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x55, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x70,
  139 + 0x63, 0x10, 0xfe, 0x03, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73,
  140 + 0x74, 0x52, 0x70, 0x63, 0x10, 0xff, 0x03, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x6d, 0x61, 0x69, 0x6c,
  141 + 0x44, 0x72, 0x61, 0x77, 0x52, 0x70, 0x63, 0x10, 0x80, 0x04, 0x12, 0x12, 0x0a, 0x0d, 0x45, 0x6d,
  142 + 0x61, 0x69, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x70, 0x63, 0x10, 0x81, 0x04, 0x12, 0x10,
  143 + 0x0a, 0x0b, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x44, 0x65, 0x6c, 0x52, 0x70, 0x63, 0x10, 0x82, 0x04,
  144 + 0x12, 0x12, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4e, 0x74,
  145 + 0x79, 0x10, 0xe9, 0x07, 0x12, 0x1a, 0x0a, 0x15, 0x52, 0x6f, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61,
  146 + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4e, 0x74, 0x79, 0x10, 0xea, 0x07,
  147 + 0x12, 0x17, 0x0a, 0x12, 0x52, 0x6f, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74,
  148 + 0x65, 0x6d, 0x73, 0x4e, 0x74, 0x79, 0x10, 0xeb, 0x07, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x71, 0x75,
  149 + 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x4e, 0x74, 0x79, 0x10, 0xec, 0x07, 0x42,
  150 + 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
  151 + 0x74, 0x6f, 0x33,
134 152 }
135 153  
136 154 var (
... ...
1   -Subproject commit 4a5d0bdfde97673ee5ce6a6e9084eac7c7b88583
  1 +Subproject commit cfe0c1d6fd5d7bcd6b0d5543359fcf2117db4dc2
... ...
tools/generator.py
... ... @@ -24,8 +24,10 @@ GoProtoCodeTestRspLine = &quot;\tam[uint32(pb.ProtoCode_{}Rsp)] = {}Rsp\n&quot;
24 24 GoProtoCodeTestNtyLine = "\tam[uint32(pb.ProtoCode_{}Nty)] = {}Nty\n"
25 25  
26 26 def generatorProto(path):
  27 + RpcStartCode = 500
  28 + NtyStartCode = 1000
  29 +
27 30 files = os.listdir(path)
28   - code = 0
29 31 ProtoCodeData = ""
30 32 GoCodeData = ""
31 33 GoCodeTestData = ""
... ... @@ -42,7 +44,7 @@ def generatorProto(path):
42 44 if firstline.find("proto3") == -1:
43 45 continue
44 46  
45   - # req
  47 + # req + rar
46 48 for line in lines:
47 49 if line.find("message") == -1:
48 50 continue
... ... @@ -52,34 +54,24 @@ def generatorProto(path):
52 54  
53 55 messageStr = sline[1].replace('\n', '').replace('{', "")
54 56 n1 = messageStr.find('Req')
  57 + n2 = messageStr.find('Rar')
55 58 loginReq = messageStr.find('LoginReq')
56 59  
57 60 if n1 != -1:
58   - code += 1
59   - ProtoCodeData += ProtoCodeLineReq.format(messageStr[:n1], code)
  61 + RpcStartCode = RpcStartCode + 1
  62 + ProtoCodeData += ProtoCodeLineReq.format(messageStr[:n1], RpcStartCode)
60 63 if loginReq != -1:
61 64 continue
62 65 GoCodeData += GoProtoCodeLine.format(messageStr[:n1], messageStr[:n1])
63 66 GoCodeTestData += GoProtoCodeTestReqLine.format(messageStr[:n1], messageStr[:n1])
64   - # rar
65   - for line in lines:
66   - if line.find("message") == -1:
67   - continue
68   - sline = line.split(' ')
69   - if len(sline) < 2:
70   - continue
71   -
72   - messageStr = sline[1].replace('\n', '').replace('{', "")
73   - n2 = messageStr.find('Rar')
74   - loginReq = messageStr.find('LoginReq')
75   - if n2 != -1:
76   - code += 1
77   - ProtoCodeData += ProtoCodeLineReq.format(messageStr[:n2], code)
  67 + elif n2 != -1:
  68 + RpcStartCode = RpcStartCode + 1
  69 + ProtoCodeData += ProtoCodeLineReq.format(messageStr[:n2], RpcStartCode)
78 70 if loginReq != -1:
79 71 continue
80 72 GoCodeData += GoProtoCodeLine.format(messageStr[:n2], messageStr[:n2])
81 73 GoCodeTestData += GoProtoCodeTestReqLine.format(messageStr[:n2], messageStr[:n2])
82   -
  74 + ProtoCodeData += '\n'
83 75 # nty
84 76 for line in lines:
85 77 if line.find("message") == -1:
... ... @@ -93,8 +85,8 @@ def generatorProto(path):
93 85 loginReq = messageStr.find('LoginReq')
94 86  
95 87 if n3 != -1:
96   - code += 1
97   - ProtoCodeData += ProtoCodeLineNty.format(messageStr[:n3], code)
  88 + NtyStartCode = NtyStartCode + 1
  89 + ProtoCodeData += ProtoCodeLineNty.format(messageStr[:n3], NtyStartCode)
98 90 if loginReq != -1:
99 91 continue
100 92 GoCodeTestData += GoProtoCodeTestNtyLine.format(messageStr[:n3], messageStr[:n3])
... ...