diff --git a/comm/core.go b/comm/core.go index f135f31e7..7e47a92ff 100644 --- a/comm/core.go +++ b/comm/core.go @@ -34,17 +34,18 @@ type ISC_MatchComp interface { // 游戏类资源类型 const ( - AttrType = "attr" //用户属性资源 例如货币 经验 之类的 - PerType = "per" //用户皮肤,动作,背景 相关资源 - ItemType = "item" //道具物品资源 - HeroType = "hero" //卡片资源 例如英雄卡,检验卡 - EquipmentType = "equi" //武器资源 - VipType = "vip" //vip - AtlasType = "atlas" //铁匠铺资源 - PandaType = "panda" //熊猫武馆资源 - MountsType = "mts" //捕羊大赛坐骑资源 - TitleType = "title" //称号资源 - XxlType = "xxl" //三消卡片资源 + AttrType = "attr" //用户属性资源 例如货币 经验 之类的 + PerType = "per" //用户皮肤,动作,背景 相关资源 + ItemType = "item" //道具物品资源 + HeroType = "hero" //卡片资源 例如英雄卡,检验卡 + EquipmentType = "equi" //武器资源 + VipType = "vip" //vip + AtlasType = "atlas" //铁匠铺资源 + PandaType = "panda" //熊猫武馆资源 + MountsType = "mts" //捕羊大赛坐骑资源 + TitleType = "title" //称号资源 + XxlType = "xxl" //三消卡片资源 + XxlSkill = "xxlskill" //三消技能资源 ) type Autogenerated struct { diff --git a/comm/imodule.go b/comm/imodule.go index 8acd93581..28c826f1f 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -687,6 +687,7 @@ type ( IEntertainment interface { // 添加三消卡片资源 AddXxlCard(session IUserSession, cards map[string]int32, bPush bool) (errdata *pb.ErrorData) + AddXxlSkillCard(session IUserSession, skill map[string]int32, bPush bool) (errdata *pb.ErrorData) CreateRoom(sessions []IUserSession, rulesStr string) (roomid string, err error) //用户离线 diff --git a/modules/entertainment/module.go b/modules/entertainment/module.go index 32436b9a9..26e060624 100644 --- a/modules/entertainment/module.go +++ b/modules/entertainment/module.go @@ -10,6 +10,7 @@ import ( "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" "go_dreamfactory/pb" + "strconv" ) func NewModule() core.IModule { @@ -118,9 +119,13 @@ func (this *Entertainment) ConsumXxlCard(session comm.IUserSession, card string) }) } - session.SendMsg(string(this.GetType()), "titlelist", &pb.EntertainChangePush{ + session.SendMsg(string(this.GetType()), "change", &pb.EntertainChangePush{ Card: result.Card, }) + // 写数据统计 + go this.AsynHandleSession(session.Clone(), func(session comm.IUserSession) { + this.WriteUserLog(session.GetUserId(), "", comm.GMResDelType, "ConsumXxlCard", result.Card[card]) + }) return } @@ -240,3 +245,77 @@ func (this *Entertainment) UserOffline(roomid string, uid string) (err error) { func (this *Entertainment) AdmitDefeat(roomid string, uid string) (err error) { return } + +func (this *Entertainment) AddXxlSkillCard(session comm.IUserSession, skill map[string]int32, bPush bool) (errdata *pb.ErrorData) { + + var ( + result *pb.DBXXLData + err error + ) + // for k := range skill { + // if _, err := this.model.module.configure.GetGameConsumeHero(k); err != nil { + // errdata = &pb.ErrorData{ + // Code: pb.ErrorCode_ReqParameterError, + // Title: pb.ErrorCode_ReqParameterError.ToString(), + // Message: err.Error(), + // } + // return + // } + // } + if result, err = this.model.getEntertainmList(session.GetUserId()); err != nil { + return + } + for k, v := range skill { + if iKey, err := strconv.Atoi(k); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + Message: err.Error(), + } + return + } else { + result.Skill[int32(iKey)] += v + } + } + this.model.modifyEntertainmList(session.GetUserId(), map[string]interface{}{ + "skill": result.Skill, + }) + + if bPush { + session.SendMsg(string(this.GetType()), "change", &pb.EntertainChangePush{ + Skill: result.Skill, + }) + } + return +} + +// 消耗一张技能卡 +func (this *Entertainment) ConsumXxlSkillCard(session comm.IUserSession, skillCard int32) (errdata *pb.ErrorData) { + + var ( + result *pb.DBXXLData + err error + ) + + if result, err = this.model.getEntertainmList(session.GetUserId()); err != nil { + return + } + if _, ok := result.Skill[skillCard]; ok { + if result.Skill[skillCard] <= 0 { + return + } + result.Skill[skillCard] -= 1 + this.model.modifyEntertainmList(session.GetUserId(), map[string]interface{}{ + "skill": result.Skill, + }) + } + + session.SendMsg(string(this.GetType()), "change", &pb.EntertainChangePush{ + Skill: result.Skill, + }) + // 写数据统计 + go this.AsynHandleSession(session.Clone(), func(session comm.IUserSession) { + this.WriteUserLog(session.GetUserId(), "", comm.GMResDelType, "ConsumXxlSkillCard", result.Skill[skillCard]) + }) + return +} diff --git a/modules/entertainment/room.go b/modules/entertainment/room.go index 32fe734ac..6f37b7ff1 100644 --- a/modules/entertainment/room.go +++ b/modules/entertainment/room.go @@ -553,20 +553,32 @@ func (this *Room) GameOver() (errdata *pb.ErrorData) { } // 失败卡类型 if conf, err := this.module.configure.GetGameConsumeHero(lostPlayer.Cardid); err == nil && lostPlayer.Userinfo.Uid != "999" { - if conf.Type != 1 { //卡片类型不为1 - if list, err := this.module.model.getEntertainmList(lostPlayer.Userinfo.Uid); err == nil { - if list.Card[lostPlayer.Cardid] >= 1 { + + if list, err := this.module.model.getEntertainmList(lostPlayer.Userinfo.Uid); err == nil { + update := map[string]interface{}{} + if list.Liansheng != 0 { + list.Liansheng = 0 // 修改连胜 + update["liansheng"] = list.Liansheng + } + + if conf.Type != 1 { //卡片类型不为1 + if list.Card[lostPlayer.Cardid] >= 1 { //删除卡片 list.Card[lostPlayer.Cardid] -= 1 - this.module.model.modifyEntertainmList(lostPlayer.Userinfo.Uid, map[string]interface{}{ - "card": list.Card, - }) + update["card"] = list.Card } } + if len(update) > 0 { + this.module.model.modifyEntertainmList(lostPlayer.Userinfo.Uid, update) + } } } // 查看能不能获得箱子 if winner.Userinfo.Uid != "999" { if list, err := this.module.model.getEntertainmList(winner.Userinfo.Uid); err == nil { + update := map[string]interface{}{} + // 修改连胜 + list.Liansheng += 1 + update["liansheng"] = list.Liansheng if len(list.Box) < 3 { // 可以获得一个宝箱 if c, err := this.module.configure.GetGameRandomConsumeBoxConf(); err == nil { if c.Color != 0 { @@ -575,13 +587,12 @@ func (this *Room) GameOver() (errdata *pb.ErrorData) { Opentime: int64(c.Cd) + configure.Now().Unix(), } list.Box = append(list.Box, box) + update["box"] = list.Box - this.module.model.modifyEntertainmList(winner.Userinfo.Uid, map[string]interface{}{ - "box": list.Box, - }) } } } + this.module.model.modifyEntertainmList(winner.Userinfo.Uid, update) } } diff --git a/modules/gm/module.go b/modules/gm/module.go index b6f8b7581..e589e4875 100644 --- a/modules/gm/module.go +++ b/modules/gm/module.go @@ -77,7 +77,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (errdata *pb.Er datas := strings.Split(keys[1], ",") if len(datas) == 3 && (comm.TitleType == datas[0] || comm.PerType == datas[0] || datas[0] == comm.AttrType || datas[0] == comm.ItemType || datas[0] == comm.HeroType || datas[0] == comm.EquipmentType || datas[0] == comm.VipType || - datas[0] == comm.AtlasType || datas[0] == comm.PandaType || datas[0] == comm.MountsType || datas[0] == comm.XxlType) { + datas[0] == comm.AtlasType || datas[0] == comm.PandaType || datas[0] == comm.MountsType || datas[0] == comm.XxlSkill || datas[0] == comm.XxlType) { num, err := strconv.Atoi(datas[2]) if err != nil { errdata = &pb.ErrorData{ diff --git a/modules/modulebase.go b/modules/modulebase.go index 10b7e9a36..887427b3b 100644 --- a/modules/modulebase.go +++ b/modules/modulebase.go @@ -472,17 +472,18 @@ func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Gameatn // 发放资源 func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (errdata *pb.ErrorData) { var ( - items map[string]int32 // 道具背包 批量处理 - heros map[string]int32 // 英雄 - attrs map[string]int32 // 属性 - equips map[string]uint32 // 装备 - vip map[string]int32 // vip - atlas map[string]int32 // 铁匠铺资源 - panda map[string]int32 // 熊猫武馆资源 - mts map[string]int32 // 捕羊大赛资源 - per map[string]int32 // 捕羊大赛资源 - title map[string]int32 // 称号资源 - xxl map[string]int32 // 三消卡片资源 + items map[string]int32 // 道具背包 批量处理 + heros map[string]int32 // 英雄 + attrs map[string]int32 // 属性 + equips map[string]uint32 // 装备 + vip map[string]int32 // vip + atlas map[string]int32 // 铁匠铺资源 + panda map[string]int32 // 熊猫武馆资源 + mts map[string]int32 // 捕羊大赛资源 + per map[string]int32 // 捕羊大赛资源 + title map[string]int32 // 称号资源 + xxl map[string]int32 // 三消卡片资源 + xxlSkill map[string]int32 // 三消技能 ) items = make(map[string]int32, 0) heros = make(map[string]int32, 0) @@ -495,6 +496,7 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat per = make(map[string]int32, 0) title = make(map[string]int32, 0) xxl = make(map[string]int32, 0) + xxlSkill = make(map[string]int32, 0) for _, v := range res { switch v.A { @@ -522,6 +524,8 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat title[v.T] = 1 case comm.XxlType: xxl[v.T] += v.N + case comm.XxlSkill: + xxlSkill[v.T] += v.N default: this.Error("not found res type", log.Field{Key: "Type", Value: v.A}) // 找不到资源类型 } @@ -578,6 +582,10 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat errdata = this.ModuleEntertain.AddXxlCard(session, xxl, bPush) this.Debugf("发放三消卡片资源资源: %v errdata: %v", mts, errdata) } + if len(xxlSkill) > 0 { + errdata = this.ModuleEntertain.AddXxlSkillCard(session, xxlSkill, bPush) + this.Debugf("发放三消技能资源资源: %v errdata: %v", mts, errdata) + } return } @@ -718,6 +726,7 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea per map[string]int32 // 捕羊大赛资源 title map[string]int32 // 称号资源 xxl map[string]int32 // 三消资源 + xxlSkill map[string]int32 // 三消资源 equipschange []*pb.DB_Equipment heroschange []*pb.UserAtno itemschange []*pb.UserAtno @@ -733,6 +742,7 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea per = make(map[string]int32, 0) title = make(map[string]int32, 0) xxl = make(map[string]int32, 0) + xxlSkill = make(map[string]int32, 0) for _, v := range res { switch v.A { @@ -760,6 +770,8 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea title[v.T] = 1 case comm.XxlType: xxl[v.T] += v.N + case comm.XxlSkill: + xxlSkill[v.T] += v.N default: this.Error("not found res type", log.Field{Key: "Type", Value: v.A}) // 找不到资源类型 } @@ -901,6 +913,19 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea } this.Debugf("发放三消卡片资源资源: %v errdata: %v", xxl, errdata) } + if len(xxlSkill) > 0 { + if errdata = this.ModuleEntertain.AddXxlSkillCard(session, xxlSkill, bPush); errdata != nil { + return + } + for k, v := range xxl { + atno = append(atno, &pb.UserAtno{ + A: comm.TitleType, + T: k, + N: v, + }) + } + this.Debugf("发放三消卡片资源资源: %v errdata: %v", xxl, errdata) + } return } diff --git a/pb/entertain_db.pb.go b/pb/entertain_db.pb.go index f396776e5..f7cc79e06 100644 --- a/pb/entertain_db.pb.go +++ b/pb/entertain_db.pb.go @@ -177,12 +177,13 @@ type PlayerData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Userinfo *BaseUserInfo `protobuf:"bytes,1,opt,name=userinfo,proto3" json:"userinfo"` - Score int32 `protobuf:"varint,2,opt,name=score,proto3" json:"score"` // 本局战斗得分 - Ps int32 `protobuf:"varint,3,opt,name=ps,proto3" json:"ps"` // 体力 - Cardid string `protobuf:"bytes,4,opt,name=cardid,proto3" json:"cardid"` // 出战的英雄卡 - Energy int32 `protobuf:"varint,5,opt,name=energy,proto3" json:"energy"` // 能量进度 - Consumeexp int32 `protobuf:"varint,6,opt,name=consumeexp,proto3" json:"consumeexp"` // 消消乐积分 + Userinfo *BaseUserInfo `protobuf:"bytes,1,opt,name=userinfo,proto3" json:"userinfo"` + Score int32 `protobuf:"varint,2,opt,name=score,proto3" json:"score"` // 本局战斗得分 + Ps int32 `protobuf:"varint,3,opt,name=ps,proto3" json:"ps"` // 体力 + Cardid string `protobuf:"bytes,4,opt,name=cardid,proto3" json:"cardid"` // 出战的英雄卡 + Energy int32 `protobuf:"varint,5,opt,name=energy,proto3" json:"energy"` // 能量进度 + Consumeexp int32 `protobuf:"varint,6,opt,name=consumeexp,proto3" json:"consumeexp"` // 消消乐积分 + Skill map[int32]int32 `protobuf:"bytes,7,rep,name=skill,proto3" json:"skill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 出战的技能卡 key consume_playerskill表中cid value 数量 } func (x *PlayerData) Reset() { @@ -259,6 +260,13 @@ func (x *PlayerData) GetConsumeexp() int32 { return 0 } +func (x *PlayerData) GetSkill() map[int32]int32 { + if x != nil { + return x.Skill + } + return nil +} + // 消消乐匹配数据 type DBXXLMatch struct { state protoimpl.MessageState @@ -390,10 +398,13 @@ type DBXXLData struct { Rtime int64 `protobuf:"varint,5,opt,name=rtime,proto3" json:"rtime"` // 刷新时间 (客户端不用) Playtype []int32 `protobuf:"varint,6,rep,packed,name=playtype,proto3" json:"playtype"` // 每天随机玩法 // map boxid = 7; // 宝箱 key 宝箱id value 可领取的时间 - Box []*BoxData `protobuf:"bytes,7,rep,name=box,proto3" json:"box"` - Roomid string `protobuf:"bytes,8,opt,name=roomid,proto3" json:"roomid"` // 房间id 重连用 - ServicePath string `protobuf:"bytes,9,opt,name=servicePath,proto3" json:"servicePath"` // 目标服务节点 重连RPC用 - Etime int64 `protobuf:"varint,10,opt,name=etime,proto3" json:"etime"` // 赛季结束时间 + Box []*BoxData `protobuf:"bytes,7,rep,name=box,proto3" json:"box"` + Roomid string `protobuf:"bytes,8,opt,name=roomid,proto3" json:"roomid"` // 房间id 重连用 + ServicePath string `protobuf:"bytes,9,opt,name=servicePath,proto3" json:"servicePath"` // 目标服务节点 重连RPC用 + Etime int64 `protobuf:"varint,10,opt,name=etime,proto3" json:"etime"` // 赛季结束时间 + Touxiang int32 `protobuf:"varint,11,opt,name=touxiang,proto3" json:"touxiang"` // 今天投降的次数 + Skill map[int32]int32 `protobuf:"bytes,12,rep,name=skill,proto3" json:"skill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 技能id value 数量(可为0) + Liansheng int32 `protobuf:"varint,13,opt,name=liansheng,proto3" json:"liansheng"` // 连胜 } func (x *DBXXLData) Reset() { @@ -498,15 +509,38 @@ func (x *DBXXLData) GetEtime() int64 { return 0 } +func (x *DBXXLData) GetTouxiang() int32 { + if x != nil { + return x.Touxiang + } + return 0 +} + +func (x *DBXXLData) GetSkill() map[int32]int32 { + if x != nil { + return x.Skill + } + return nil +} + +func (x *DBXXLData) GetLiansheng() int32 { + if x != nil { + return x.Liansheng + } + return 0 +} + // 三消游戏规则 type DBXxlRules struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RoomType int32 `protobuf:"varint,1,opt,name=RoomType,proto3" json:"RoomType"` // 房间类型 - Card1 string `protobuf:"bytes,2,opt,name=card1,proto3" json:"card1"` // player1 卡 - Card2 string `protobuf:"bytes,3,opt,name=card2,proto3" json:"card2"` // player2 卡 + RoomType int32 `protobuf:"varint,1,opt,name=RoomType,proto3" json:"RoomType"` // 房间类型 + Card1 string `protobuf:"bytes,2,opt,name=card1,proto3" json:"card1"` // player1 卡 + Card2 string `protobuf:"bytes,3,opt,name=card2,proto3" json:"card2"` // player2 卡 + Skill1 []int32 `protobuf:"varint,4,rep,packed,name=skill1,proto3" json:"skill1"` // 玩家1携带的技能 + Skill2 []int32 `protobuf:"varint,5,rep,packed,name=skill2,proto3" json:"skill2"` // 玩家2携带的技能 } func (x *DBXxlRules) Reset() { @@ -562,6 +596,20 @@ func (x *DBXxlRules) GetCard2() string { return "" } +func (x *DBXxlRules) GetSkill1() []int32 { + if x != nil { + return x.Skill1 + } + return nil +} + +func (x *DBXxlRules) GetSkill2() []int32 { + if x != nil { + return x.Skill2 + } + return nil +} + var File_entertain_entertain_db_proto protoreflect.FileDescriptor var file_entertain_entertain_db_proto_rawDesc = []byte{ @@ -583,7 +631,7 @@ var file_entertain_entertain_db_proto_rawDesc = []byte{ 0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x22, 0xad, 0x01, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x22, 0x95, 0x02, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, @@ -594,50 +642,70 @@ var file_entertain_entertain_db_proto_rawDesc = []byte{ 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x65, 0x78, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x65, 0x65, 0x78, 0x70, 0x22, 0x6f, 0x0a, 0x0a, 0x44, 0x42, 0x58, 0x58, 0x4c, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, - 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, - 0x75, 0x6d, 0x65, 0x65, 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x65, 0x78, 0x70, 0x22, 0x3b, 0x0a, 0x07, 0x42, 0x6f, 0x78, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70, 0x65, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x99, 0x03, 0x0a, 0x09, 0x44, 0x42, 0x58, 0x58, 0x4c, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x58, 0x58, 0x4c, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x58, 0x58, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x1a, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, - 0x2e, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, - 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x54, 0x0a, 0x0a, 0x44, 0x42, 0x58, 0x78, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x61, 0x72, 0x64, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, - 0x31, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x32, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x75, 0x6d, 0x65, 0x65, 0x78, 0x70, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x6f, 0x0a, 0x0a, 0x44, 0x42, 0x58, 0x58, 0x4c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x29, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x69, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x65, 0x78, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x65, 0x78, 0x70, + 0x22, 0x3b, 0x0a, 0x07, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x62, + 0x6f, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x6f, 0x78, 0x69, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xba, 0x04, + 0x0a, 0x09, 0x44, 0x42, 0x58, 0x58, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, + 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x44, 0x42, 0x58, 0x58, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, + 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, + 0x58, 0x58, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x03, 0x62, 0x6f, 0x78, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x75, 0x78, 0x69, 0x61, 0x6e, + 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x6f, 0x75, 0x78, 0x69, 0x61, 0x6e, + 0x67, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x44, 0x42, 0x58, 0x58, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6b, 0x69, + 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x1c, + 0x0a, 0x09, 0x6c, 0x69, 0x61, 0x6e, 0x73, 0x68, 0x65, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x6c, 0x69, 0x61, 0x6e, 0x73, 0x68, 0x65, 0x6e, 0x67, 0x1a, 0x39, 0x0a, 0x0b, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x38, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x84, 0x01, 0x0a, 0x0a, 0x44, + 0x42, 0x58, 0x78, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, + 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x6f, + 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x31, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x63, + 0x61, 0x72, 0x64, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, + 0x32, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x31, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6b, 0x69, + 0x6c, 0x6c, 0x32, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, + 0x32, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -652,7 +720,7 @@ func file_entertain_entertain_db_proto_rawDescGZIP() []byte { return file_entertain_entertain_db_proto_rawDescData } -var file_entertain_entertain_db_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_entertain_entertain_db_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_entertain_entertain_db_proto_goTypes = []interface{}{ (*MapData)(nil), // 0: MapData (*GirdeData)(nil), // 1: GirdeData @@ -661,22 +729,26 @@ var file_entertain_entertain_db_proto_goTypes = []interface{}{ (*BoxData)(nil), // 4: BoxData (*DBXXLData)(nil), // 5: DBXXLData (*DBXxlRules)(nil), // 6: DBXxlRules - nil, // 7: DBXXLData.RewardEntry - nil, // 8: DBXXLData.CardEntry - (*BaseUserInfo)(nil), // 9: BaseUserInfo + nil, // 7: PlayerData.SkillEntry + nil, // 8: DBXXLData.RewardEntry + nil, // 9: DBXXLData.CardEntry + nil, // 10: DBXXLData.SkillEntry + (*BaseUserInfo)(nil), // 11: BaseUserInfo } var file_entertain_entertain_db_proto_depIdxs = []int32{ - 1, // 0: MapData.data:type_name -> GirdeData - 9, // 1: PlayerData.userinfo:type_name -> BaseUserInfo - 9, // 2: DBXXLMatch.userinfo:type_name -> BaseUserInfo - 7, // 3: DBXXLData.reward:type_name -> DBXXLData.RewardEntry - 8, // 4: DBXXLData.card:type_name -> DBXXLData.CardEntry - 4, // 5: DBXXLData.box:type_name -> BoxData - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 1, // 0: MapData.data:type_name -> GirdeData + 11, // 1: PlayerData.userinfo:type_name -> BaseUserInfo + 7, // 2: PlayerData.skill:type_name -> PlayerData.SkillEntry + 11, // 3: DBXXLMatch.userinfo:type_name -> BaseUserInfo + 8, // 4: DBXXLData.reward:type_name -> DBXXLData.RewardEntry + 9, // 5: DBXXLData.card:type_name -> DBXXLData.CardEntry + 4, // 6: DBXXLData.box:type_name -> BoxData + 10, // 7: DBXXLData.skill:type_name -> DBXXLData.SkillEntry + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_entertain_entertain_db_proto_init() } @@ -777,7 +849,7 @@ func file_entertain_entertain_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_entertain_entertain_db_proto_rawDesc, NumEnums: 0, - NumMessages: 9, + NumMessages: 11, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/entertain_msg.pb.go b/pb/entertain_msg.pb.go index 260a7d0e6..e6bc785f9 100644 --- a/pb/entertain_msg.pb.go +++ b/pb/entertain_msg.pb.go @@ -401,7 +401,7 @@ type EntertainOperatorReq struct { unknownFields protoimpl.UnknownFields Roomid string `protobuf:"bytes,1,opt,name=roomid,proto3" json:"roomid"` // 房间id - Itype int32 `protobuf:"varint,2,opt,name=itype,proto3" json:"itype"` // 操作类型 0 默认交换元素 1 技能 + Itype int32 `protobuf:"varint,2,opt,name=itype,proto3" json:"itype"` // 操作类型 0 默认交换元素 999 技能 Curid int32 `protobuf:"varint,3,opt,name=curid,proto3" json:"curid"` // 当前key Targetid int32 `protobuf:"varint,4,opt,name=targetid,proto3" json:"targetid"` // 目标key } @@ -1305,7 +1305,8 @@ type EntertainChangePush struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Card map[string]int32 `protobuf:"bytes,1,rep,name=card,proto3" json:"card" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 卡id value 数量(可为0) + Card map[string]int32 `protobuf:"bytes,1,rep,name=card,proto3" json:"card" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 卡id value 数量(可为0) + Skill map[int32]int32 `protobuf:"bytes,2,rep,name=skill,proto3" json:"skill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // } func (x *EntertainChangePush) Reset() { @@ -1347,6 +1348,13 @@ func (x *EntertainChangePush) GetCard() map[string]int32 { return nil } +func (x *EntertainChangePush) GetSkill() map[int32]int32 { + if x != nil { + return x.Skill + } + return nil +} + // 创建一个房间 type EntertainCreateRoomReq struct { state protoimpl.MessageState @@ -2276,76 +2284,83 @@ var file_entertain_entertain_msg_proto_rawDesc = []byte{ 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x58, 0x58, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x82, 0x01, + 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0xf3, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x61, 0x72, - 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x30, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, - 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, - 0x63, 0x61, 0x72, 0x64, 0x22, 0x4f, 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, - 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x70, 0x61, 0x74, 0x68, 0x22, 0x46, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, - 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2d, 0x0a, - 0x15, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x6f, - 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x4a, 0x6f, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x4a, 0x6f, 0x69, 0x6e, 0x22, 0x7b, 0x0a, 0x1b, - 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, - 0x6d, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x22, 0x31, 0x0a, 0x17, 0x45, 0x6e, 0x74, - 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x22, 0x1a, 0x0a, 0x18, - 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x32, 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x65, - 0x72, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x6f, 0x6f, - 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, - 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x39, 0x0a, 0x1f, 0x45, 0x6e, 0x74, - 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x74, 0x72, 0x79, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x6b, 0x69, + 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72, + 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x2e, 0x53, + 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x6b, 0x69, 0x6c, 0x6c, + 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x53, 0x6b, 0x69, + 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x30, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, + 0x06, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, + 0x64, 0x63, 0x61, 0x72, 0x64, 0x22, 0x4f, 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, + 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x70, 0x61, 0x74, 0x68, 0x22, 0x46, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, + 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x22, 0x2d, + 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x52, + 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x4a, 0x6f, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x4a, 0x6f, 0x69, 0x6e, 0x22, 0x7b, 0x0a, + 0x1b, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, - 0x6f, 0x6d, 0x69, 0x64, 0x22, 0x4c, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, - 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x31, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x70, 0x31, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x32, 0x72, 0x65, - 0x61, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x32, 0x72, 0x65, 0x61, - 0x64, 0x79, 0x22, 0x2d, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x42, - 0x6f, 0x78, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0x57, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x42, 0x6f, - 0x78, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x03, 0x62, - 0x6f, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x6f, 0x78, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x21, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x6e, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x32, 0x0a, 0x18, 0x45, 0x6e, - 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4f, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x22, 0x1b, - 0x0a, 0x19, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x0a, 0x16, 0x45, - 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, - 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x22, 0x31, 0x0a, 0x17, 0x45, 0x6e, + 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x22, 0x1a, 0x0a, + 0x18, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x32, 0x0a, 0x18, 0x45, 0x6e, 0x74, + 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x6f, + 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x22, 0x1b, 0x0a, + 0x19, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x39, 0x0a, 0x1f, 0x45, 0x6e, + 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x22, 0x4c, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, + 0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, + 0x18, 0x0a, 0x07, 0x70, 0x31, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x70, 0x31, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x32, 0x72, + 0x65, 0x61, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x32, 0x72, 0x65, + 0x61, 0x64, 0x79, 0x22, 0x2d, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, + 0x42, 0x6f, 0x78, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x22, 0x57, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x42, + 0x6f, 0x78, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x03, + 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x6f, 0x78, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x21, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x74, 0x6e, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x32, 0x0a, 0x18, 0x45, + 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x22, + 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x0a, 0x16, + 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x54, 0x69, 0x6d, + 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, + 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2360,7 +2375,7 @@ func file_entertain_entertain_msg_proto_rawDescGZIP() []byte { return file_entertain_entertain_msg_proto_rawDescData } -var file_entertain_entertain_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 39) +var file_entertain_entertain_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 40) var file_entertain_entertain_msg_proto_goTypes = []interface{}{ (*EntertainMatchReq)(nil), // 0: EntertainMatchReq (*EntertainMatchResp)(nil), // 1: EntertainMatchResp @@ -2401,44 +2416,46 @@ var file_entertain_entertain_msg_proto_goTypes = []interface{}{ (*EntertainOperatorOverResp)(nil), // 36: EntertainOperatorOverResp (*EntertainStarTimerPush)(nil), // 37: EntertainStarTimerPush nil, // 38: EntertainChangePush.CardEntry - (*PlayerData)(nil), // 39: PlayerData - (*MapData)(nil), // 40: MapData - (*UserAtno)(nil), // 41: UserAtno - (*BoxData)(nil), // 42: BoxData - (*DBXXLData)(nil), // 43: DBXXLData + nil, // 39: EntertainChangePush.SkillEntry + (*PlayerData)(nil), // 40: PlayerData + (*MapData)(nil), // 41: MapData + (*UserAtno)(nil), // 42: UserAtno + (*BoxData)(nil), // 43: BoxData + (*DBXXLData)(nil), // 44: DBXXLData } var file_entertain_entertain_msg_proto_depIdxs = []int32{ - 39, // 0: EntertainStartGamePush.user1:type_name -> PlayerData - 39, // 1: EntertainStartGamePush.user2:type_name -> PlayerData - 40, // 2: EntertainStartGamePush.mpadata:type_name -> MapData - 40, // 3: EntertainOperatorRstPush.mpadata:type_name -> MapData - 39, // 4: EntertainOperatorRstPush.user1:type_name -> PlayerData - 39, // 5: EntertainOperatorRstPush.user2:type_name -> PlayerData - 39, // 6: EntertainGameOverPush.user1:type_name -> PlayerData - 39, // 7: EntertainGameOverPush.user2:type_name -> PlayerData - 40, // 8: EntertainGameOverPush.mpadata:type_name -> MapData - 41, // 9: EntertainGameOverPush.reward:type_name -> UserAtno - 42, // 10: EntertainGameOverPush.box:type_name -> BoxData - 39, // 11: EntertainEnterRoomPush.user1:type_name -> PlayerData - 39, // 12: EntertainEnterRoomPush.user2:type_name -> PlayerData - 40, // 13: EntertainReconnectResp.mpadata:type_name -> MapData - 39, // 14: EntertainReconnectResp.user1:type_name -> PlayerData - 39, // 15: EntertainReconnectResp.user2:type_name -> PlayerData - 40, // 16: EntertainRefreshPlatResp.mpadata:type_name -> MapData - 40, // 17: EntertainRefreshPush.mpadata:type_name -> MapData - 43, // 18: EntertainGetListResp.data:type_name -> DBXXLData - 43, // 19: EntertainRewardResp.data:type_name -> DBXXLData - 41, // 20: EntertainRewardResp.reward:type_name -> UserAtno + 40, // 0: EntertainStartGamePush.user1:type_name -> PlayerData + 40, // 1: EntertainStartGamePush.user2:type_name -> PlayerData + 41, // 2: EntertainStartGamePush.mpadata:type_name -> MapData + 41, // 3: EntertainOperatorRstPush.mpadata:type_name -> MapData + 40, // 4: EntertainOperatorRstPush.user1:type_name -> PlayerData + 40, // 5: EntertainOperatorRstPush.user2:type_name -> PlayerData + 40, // 6: EntertainGameOverPush.user1:type_name -> PlayerData + 40, // 7: EntertainGameOverPush.user2:type_name -> PlayerData + 41, // 8: EntertainGameOverPush.mpadata:type_name -> MapData + 42, // 9: EntertainGameOverPush.reward:type_name -> UserAtno + 43, // 10: EntertainGameOverPush.box:type_name -> BoxData + 40, // 11: EntertainEnterRoomPush.user1:type_name -> PlayerData + 40, // 12: EntertainEnterRoomPush.user2:type_name -> PlayerData + 41, // 13: EntertainReconnectResp.mpadata:type_name -> MapData + 40, // 14: EntertainReconnectResp.user1:type_name -> PlayerData + 40, // 15: EntertainReconnectResp.user2:type_name -> PlayerData + 41, // 16: EntertainRefreshPlatResp.mpadata:type_name -> MapData + 41, // 17: EntertainRefreshPush.mpadata:type_name -> MapData + 44, // 18: EntertainGetListResp.data:type_name -> DBXXLData + 44, // 19: EntertainRewardResp.data:type_name -> DBXXLData + 42, // 20: EntertainRewardResp.reward:type_name -> UserAtno 38, // 21: EntertainChangePush.card:type_name -> EntertainChangePush.CardEntry - 39, // 22: EntertainJoinCreateRoomPush.user1:type_name -> PlayerData - 39, // 23: EntertainJoinCreateRoomPush.user2:type_name -> PlayerData - 42, // 24: EntertainBoxRewardResp.box:type_name -> BoxData - 41, // 25: EntertainBoxRewardResp.reward:type_name -> UserAtno - 26, // [26:26] is the sub-list for method output_type - 26, // [26:26] is the sub-list for method input_type - 26, // [26:26] is the sub-list for extension type_name - 26, // [26:26] is the sub-list for extension extendee - 0, // [0:26] is the sub-list for field type_name + 39, // 22: EntertainChangePush.skill:type_name -> EntertainChangePush.SkillEntry + 40, // 23: EntertainJoinCreateRoomPush.user1:type_name -> PlayerData + 40, // 24: EntertainJoinCreateRoomPush.user2:type_name -> PlayerData + 43, // 25: EntertainBoxRewardResp.box:type_name -> BoxData + 42, // 26: EntertainBoxRewardResp.reward:type_name -> UserAtno + 27, // [27:27] is the sub-list for method output_type + 27, // [27:27] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name } func init() { file_entertain_entertain_msg_proto_init() } @@ -2912,7 +2929,7 @@ func file_entertain_entertain_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_entertain_entertain_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 39, + NumMessages: 40, NumExtensions: 0, NumServices: 0, },