上传pvp业务开发代码

This commit is contained in:
liwei1dao 2023-02-07 18:47:10 +08:00
parent 44efa1f5d9
commit dab4732a11
24 changed files with 2600 additions and 478 deletions

View File

@ -78,6 +78,7 @@ const (
ModuleEnchant core.M_Modules = "enchant" //附魔
ModuleAutoBattle core.M_Modules = "autobattle" //自动战斗
ModuleMline core.M_Modules = "mline" //主线模块
ModulePvp core.M_Modules = "pvp" //实时pvp
)
//数据表名定义处

View File

@ -232,6 +232,12 @@ type (
CreatePvbBattle(session IUserSession, req *pb.BattlePVBReq) (code pb.ErrorCode, record *pb.DBBattleRecord)
///创建pvp战斗
CreatePvpBattle(session IUserSession, req *pb.BattlePVPReq) (code pb.ErrorCode, record *pb.DBBattleRecord)
///同步pvp战斗
CreateRtPvpBattle(req *pb.BattleRTPVPReq) (code pb.ErrorCode, record *pb.DBBattleRecord)
///创建战斗服务
CreateBattleServer(req *pb.BattleInfo) (code pb.ErrorCode)
///战斗指令输入
InCmdBattle(req *pb.BattleInCmdReq) (code pb.ErrorCode)
//校验战报
CheckBattleReport(session IUserSession, report *pb.BattleReport) (code pb.ErrorCode, iswin bool)
}
@ -374,4 +380,14 @@ type (
IPayDelivery interface {
Delivery(session IUserSession, pid string) (code pb.ErrorCode, items []*pb.UserAssets)
}
//实时Pvp
IPvp interface {
//创建实时Pvp
CreatePvp(red, blue *pb.PvpUserInfo, ptype pb.PvpType) (battleId string, code pb.ErrorCode)
//推送战斗输出指令
PvpOutCmdPush(out *pb.PvpOutCmdPush)
//推送战斗结束
PvpFinishPush(battleId string)
}
)

View File

@ -34,7 +34,7 @@ func SetIsSyncPool(v bool) Option {
func newOptions(config map[string]interface{}, opts ...Option) Options {
options := Options{
Tick: time.Second,
BucketsNum: 1,
BucketsNum: 1024,
IsSyncPool: true,
}
if config != nil {
@ -57,7 +57,7 @@ func newOptions(config map[string]interface{}, opts ...Option) Options {
func newOptionsByOption(opts ...Option) Options {
options := Options{
Tick: 1000,
BucketsNum: 1,
BucketsNum: 1024,
IsSyncPool: true,
}
for _, o := range opts {

View File

@ -117,6 +117,8 @@ func (this *TimeWheel) Stop() {
this.stopC <- struct{}{}
}
//此处写法 为监控时间轮是否正常执行
func (this *TimeWheel) tickGenerator() {
if this.tickQueue == nil {
return

View File

@ -2,91 +2,18 @@ package battle
import (
"context"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"sync"
"sync/atomic"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/core/cbase"
"go_dreamfactory/lego/sys/log"
"github.com/gorilla/websocket"
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/anypb"
)
/*
战斗服务客户端组件
*/
type clientComp struct {
cbase.ModuleCompBase
options *Options
service core.IService
module *Battle
mutexs []sync.Mutex
clinets []*client
i int
}
//组件初始化接口
func (this *clientComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, options)
this.options = options.(*Options)
this.module = module.(*Battle)
this.mutexs = make([]sync.Mutex, len(this.options.BattleServerAddr))
this.clinets = make([]*client, len(this.options.BattleServerAddr))
return
}
func (this *clientComp) Start() (err error) {
err = this.ModuleCompBase.Start()
if this.options.OpenCheck {
for i, v := range this.options.BattleServerAddr {
if this.clinets[i], err = newClient(v, i, this, this.options.Log); err != nil {
return
}
}
}
return
}
//关闭客户端连接对象
func (this *clientComp) Shutdown(c *client) {
this.mutexs[c.index].Lock()
defer this.mutexs[c.index].Unlock()
this.clinets[c.index] = nil
this.module.Errorf("战斗校验服务%d 被关闭! ", c.index)
}
func (this *clientComp) CheckBattle(ctx context.Context, req *pb.BattleReport) (reply *pb.BattleCheckResults, err error) {
var (
c *client
)
reply = &pb.BattleCheckResults{}
if c, err = this.selector(); err != nil {
return
}
err = c.callBattle(ctx, "Check", req, reply)
return
}
//选择连接服务器
func (this *clientComp) selector() (c *client, err error) {
i := this.i % len(this.clinets)
this.i += 1
if this.clinets[i] != nil {
c = this.clinets[i]
return
} else {
if this.clinets[i], err = newClient(this.options.BattleServerAddr[i], i, this, this.options.Log); err != nil {
this.module.Errorln(err)
}
}
return
}
func newClient(addr string, i int, mgr IClientMgr, log log.ILogger) (c *client, err error) {
c = &client{mgr: mgr, log: log, index: i, state: 1, pending: make(map[uint64]*MessageCall)}
func newClient(addr string, mgr IClientMgr, log log.ILogger) (c *client, err error) {
c = &client{addr: addr, mgr: mgr, log: log, state: 1, pending: make(map[uint64]*MessageCall)}
dialer := websocket.Dialer{}
c.conn, _, err = dialer.Dial(addr, nil)
go c.run()
@ -94,9 +21,9 @@ func newClient(addr string, i int, mgr IClientMgr, log log.ILogger) (c *client,
}
type client struct {
addr string
mgr IClientMgr
log log.ILogger
index int
conn *websocket.Conn
state int32 //状态 0 关闭 1 运行 2 关闭中
seq uint64
@ -168,12 +95,35 @@ locp:
func (this *client) handleresponse(resp *pb.BattleRpcMessage) {
var call *MessageCall
this.pendingmutex.Lock()
call = this.pending[resp.Rid]
delete(this.pending, resp.Rid)
this.pendingmutex.Unlock()
call.Error = resp.Data.UnmarshalTo(call.Reply)
call.done(this.log)
if resp.Rid != 0 {
this.pendingmutex.Lock()
call = this.pending[resp.Rid]
delete(this.pending, resp.Rid)
this.pendingmutex.Unlock()
call.Error = resp.Data.UnmarshalTo(call.Reply)
call.done(this.log)
} else {
switch resp.Method {
case "OutCmd": //输出指令
if msg, err := resp.Data.UnmarshalNew(); err != nil {
this.log.Errorf("C# OutCmd Unmarshal err:%v", err)
break
} else {
this.mgr.BattleOutCmd(msg.(*pb.BattleOutCmdPush))
}
break
case "BattleFished": //战斗结束指令
if msg, err := resp.Data.UnmarshalNew(); err != nil {
this.log.Errorf("C# OutCmd Unmarshal err:%v", err)
break
} else {
this.mgr.BattleFinish(msg.(*pb.BattleFinishPush))
}
break
default:
this.log.Warnf("收到异常消息回包 resp:%v", resp)
}
}
}
//外部代用关闭

View File

@ -0,0 +1,94 @@
package battle
import (
"context"
"go_dreamfactory/pb"
"sync"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/core/cbase"
)
/*
战斗服务客户端组件
*/
type battleClientMgrComp struct {
cbase.ModuleCompBase
options *Options
service core.IService
module *Battle
mutexs []sync.Mutex
clinet *client
i int
}
//组件初始化接口
func (this *battleClientMgrComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, options)
this.options = options.(*Options)
this.module = module.(*Battle)
this.mutexs = make([]sync.Mutex, len(this.options.BattleServerAddr))
return
}
func (this *battleClientMgrComp) Start() (err error) {
err = this.ModuleCompBase.Start()
if this.options.OpenCheck {
if this.clinet, err = newClient(this.options.BattleServerAddr, this, this.options.Log); err != nil {
return
}
}
return
}
//关闭客户端连接对象
func (this *battleClientMgrComp) Shutdown(c *client) {
this.clinet = nil
this.module.Errorf("战斗校验服务被关闭!")
}
//Pvp 战斗指令输出
func (this *battleClientMgrComp) BattleOutCmd(out *pb.BattleOutCmdPush) {
this.module.pvp.PvpOutCmdPush(&pb.PvpOutCmdPush{
Battleid: out.Battleid,
Cmd: out.Cmd,
})
}
//Pvp 战斗指令输出
func (this *battleClientMgrComp) BattleFinish(out *pb.BattleFinishPush) {
this.module.pvp.PvpFinishPush(out.Battleid)
}
//校验战斗结果
func (this *battleClientMgrComp) CheckBattle(ctx context.Context, req *pb.BattleReport) (reply *pb.BattleCheckResults, err error) {
reply = &pb.BattleCheckResults{}
if err = this.clinet.callBattle(ctx, "Check", req, reply); err != nil {
this.module.Errorln(err)
}
return
}
//实时pvp战斗创建
func (this *battleClientMgrComp) CreateBattle(ctx context.Context, req *pb.BattleCreateServerReq) (reply *pb.BattleCreateServerResp, err error) {
var (
c *client
)
reply = &pb.BattleCreateServerResp{}
if err = c.callBattle(ctx, "Create", req, reply); err != nil {
this.module.Errorln(err)
}
return
}
//实时pvp 输入指令输入
func (this *battleClientMgrComp) InCmdBattle(ctx context.Context, req *pb.BattleInCmdReq) (reply *pb.BattleInCmdResp, err error) {
var (
c *client
)
reply = &pb.BattleInCmdResp{}
if err = c.callBattle(ctx, "InCmd", req, reply); err != nil {
this.module.Errorln(err)
}
return
}

View File

@ -1,7 +1,11 @@
package battle
import "go_dreamfactory/pb"
type (
IClientMgr interface {
Shutdown(c *client)
BattleOutCmd(out *pb.BattleOutCmdPush)
BattleFinish(out *pb.BattleFinishPush)
}
)

View File

@ -393,6 +393,64 @@ func (this *modelBattleComp) createpvp(session comm.IUserSession, conn *db.DBCon
return
}
//创建pvp 战斗请求
func (this *modelBattleComp) creatertpvp(redmodel, bluemodel *db.DBModel, btype pb.BattleType, req *pb.BattleRTPVPReq) (record *pb.DBBattleRecord, code pb.ErrorCode) {
record = &pb.DBBattleRecord{
Id: primitive.NewObjectID().Hex(),
Title: req.Title,
Btype: btype,
Ptype: req.Ptype,
State: pb.BBattleState_in,
RedCompId: req.RedCompId,
Redflist: make([]*pb.DBBattleFormt, len(req.Redformat)),
BlueCompId: req.BlueCompId,
Buleflist: make([]*pb.DBBattleFormt, len(req.Bulefformat)),
}
for ii, v := range req.Redformat {
record.Redflist[ii] = &pb.DBBattleFormt{
Leadpos: v.Leadpos,
Team: make([]*pb.BattleRole, len(v.Format)),
}
for i, v := range v.Format {
if v != "" {
hero := &pb.DBHero{}
if err := redmodel.GetListObj(req.RedCompId, v, hero); err != nil {
code = pb.ErrorCode_HeroNoExist
return
}
tid := 100 + i
if record.Redflist[ii].Team[i], code = this.createBattleRole(hero, tid, i); code != pb.ErrorCode_Success {
return
}
} else {
record.Redflist[ii].Team[i] = nil
}
}
}
for ii, v := range req.Bulefformat {
record.Buleflist[ii] = &pb.DBBattleFormt{
Leadpos: v.Leadpos,
Team: make([]*pb.BattleRole, len(v.Format)),
}
for i, v := range v.Format {
if v != "" {
hero := &pb.DBHero{}
if err := bluemodel.GetListObj(req.BlueCompId, v, hero); err != nil {
code = pb.ErrorCode_HeroNoExist
return
}
tid := 200 + i
if record.Buleflist[ii].Team[i], code = this.createBattleRole(hero, tid, i); code != pb.ErrorCode_Success {
return
}
} else {
record.Buleflist[ii].Team[i] = nil
}
}
}
return
}
func (this *modelBattleComp) createBattleRole(hero *pb.DBHero, tid, pos int) (role *pb.BattleRole, code pb.ErrorCode) {
role = &pb.BattleRole{
Tid: int32(tid),

View File

@ -28,10 +28,11 @@ type Battle struct {
options *Options
friend comm.IFriend //好友系统
moonfantasy comm.IMoonFantasy //月之秘境模块
pvp comm.IPvp //实时pvp
api_comp *apiComp
configure *configureComp
modelBattle *modelBattleComp
clients *clientComp
clientmgr *battleClientMgrComp //c#战斗客户端端管理
}
//模块名
@ -61,6 +62,10 @@ func (this *Battle) Start() (err error) {
return
}
this.moonfantasy = module.(comm.IMoonFantasy)
if module, err = this.service.GetModule(comm.ModulePvp); err != nil {
return
}
this.pvp = module.(comm.IPvp)
return
}
@ -70,7 +75,7 @@ func (this *Battle) OnInstallComp() {
this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
this.modelBattle = this.RegisterComp(new(modelBattleComp)).(*modelBattleComp)
this.clients = this.RegisterComp(new(clientComp)).(*clientComp)
this.clientmgr = this.RegisterComp(new(battleClientMgrComp)).(*battleClientMgrComp)
}
//查询战斗记录
@ -184,12 +189,68 @@ func (this *Battle) CreatePvpBattle(session comm.IUserSession, req *pb.BattlePVP
this.Errorf("session:%v err:", session, err)
return
}
if record, code = this.modelBattle.createpvp(session, conn, pb.BattleType_pve, req); code != pb.ErrorCode_Success {
if record, code = this.modelBattle.createpvp(session, conn, pb.BattleType_pvp, req); code != pb.ErrorCode_Success {
return
}
return
}
//只有跨服环境下才可使用
func (this *Battle) CreateRtPvpBattle(req *pb.BattleRTPVPReq) (code pb.ErrorCode, record *pb.DBBattleRecord) {
var (
redmodel *db.DBModel
bluemodel *db.DBModel
err error
)
if !this.IsCross() {
code = pb.ErrorCode_Exception
return
}
if redmodel, err = this.GetDBModuleByUid(req.RedCompId, comm.TableHero, time.Hour); err != nil {
code = pb.ErrorCode_DBError
return
}
if bluemodel, err = this.GetDBModuleByUid(req.BlueCompId, comm.TableHero, time.Hour); err != nil {
code = pb.ErrorCode_DBError
return
}
if record, code = this.modelBattle.creatertpvp(redmodel, bluemodel, pb.BattleType_rtpvp, req); code != pb.ErrorCode_Success {
return
}
return
}
//创建战斗服务
func (this *Battle) CreateBattleServer(req *pb.BattleInfo) (code pb.ErrorCode) {
var (
resp *pb.BattleCreateServerResp
err error
)
if resp, err = this.clientmgr.CreateBattle(context.Background(), &pb.BattleCreateServerReq{Info: req}); err != nil {
this.Errorln(err)
code = pb.ErrorCode_RpcFuncExecutionError
}
if !resp.Issucc {
code = pb.ErrorCode_BattleCreateFailed
}
return
}
func (this *Battle) InCmdBattle(req *pb.BattleInCmdReq) (code pb.ErrorCode) {
var (
resp *pb.BattleInCmdResp
err error
)
if resp, err = this.clientmgr.InCmdBattle(context.Background(), req); err != nil {
this.Errorln(err)
code = pb.ErrorCode_RpcFuncExecutionError
}
if !resp.Issucc {
code = pb.ErrorCode_BattleInCmdFailed
}
return
}
//校验战报是否成功
func (this *Battle) CheckBattleReport(session comm.IUserSession, report *pb.BattleReport) (code pb.ErrorCode, iswin bool) {
var (
@ -203,7 +264,7 @@ func (this *Battle) CheckBattleReport(session comm.IUserSession, report *pb.Batt
if this.options.OpenCheck {
stime := time.Now()
if reply, err = this.clients.CheckBattle(context.Background(), report); err != nil || !reply.Ischeck {
if reply, err = this.clientmgr.CheckBattle(context.Background(), report); err != nil || !reply.Ischeck {
code = pb.ErrorCode_BattleValidationFailed
this.Error("[Battle Check]",
log.Field{Key: "t", Value: time.Since(stime).Milliseconds()},

View File

@ -14,7 +14,7 @@ type (
Options struct {
modules.Options
OpenCheck bool
BattleServerAddr []string
BattleServerAddr string
}
)
@ -26,7 +26,7 @@ func (this *Options) GetLog() log.ILogger {
return this.Log
}
func (this *Options) GetBattleServerAddr() []string {
func (this *Options) GetBattleServerAddr() string {
return this.BattleServerAddr
}

29
modules/pvp/api.go Normal file
View File

@ -0,0 +1,29 @@
package pvp
import (
"go_dreamfactory/modules"
"go_dreamfactory/lego/core"
)
/*
API
*/
type apiComp struct {
modules.MCompGate
service core.IService
module *Pvp
}
//组件初始化接口
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompGate.Init(service, module, comp, options)
this.module = module.(*Pvp)
this.service = service
return
}
func (this *apiComp) Start() (err error) {
err = this.MCompGate.Start()
return
}

View File

@ -0,0 +1,45 @@
package pvp
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) FormationCheck(session comm.IUserSession, req *pb.PvpFormationReq) (code pb.ErrorCode) {
return
}
///设置战斗阵型
func (this *apiComp) Formation(session comm.IUserSession, req *pb.PvpFormationReq) (code pb.ErrorCode, data proto.Message) {
var (
battle *BattleItem
ok bool
)
if code = this.FormationCheck(session, req); code != pb.ErrorCode_Success {
return
}
this.module.lock.RLock()
battle, ok = this.module.battles[req.Battleid]
this.module.lock.RUnlock()
if ok && battle.State == pb.PvpState_ready {
battle.lock.Lock()
if session.GetUserId() == battle.Red.Uid {
battle.Redformation = req.Formation
} else {
battle.Blueformation = req.Formation
}
if battle.Redformation != nil && battle.Blueformation != nil { //都设置了战斗阵型
battle.State = pb.PvpState_battle
go this.module.startBattle(battle)
}
battle.lock.Unlock()
} else {
session.SendMsg(string(this.module.GetType()), "formation", &pb.PvpFormationResp{Issucc: false})
return
}
session.SendMsg(string(this.module.GetType()), "formation", &pb.PvpFormationResp{Issucc: true})
return
}

28
modules/pvp/api_incmd.go Normal file
View File

@ -0,0 +1,28 @@
package pvp
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) InCmdCheck(session comm.IUserSession, req *pb.PvpInCmdReq) (code pb.ErrorCode) {
return
}
///设置战斗阵型
func (this *apiComp) InCmd(session comm.IUserSession, req *pb.PvpInCmdReq) (code pb.ErrorCode, data proto.Message) {
if code = this.InCmdCheck(session, req); code != pb.ErrorCode_Success {
return
}
if code = this.module.battle.InCmdBattle(&pb.BattleInCmdReq{
Battleid: req.Battleid,
In: req.Cmd,
}); code != pb.ErrorCode_Success {
return
}
session.SendMsg(string(this.module.GetType()), "incmd", &pb.PvpInCmdResp{Battleid: req.Battleid, Cmd: req.Cmd})
return
}

19
modules/pvp/core.go Normal file
View File

@ -0,0 +1,19 @@
package pvp
import (
"go_dreamfactory/lego/sys/timewheel"
"go_dreamfactory/pb"
"sync"
)
type BattleItem struct {
Id string //战斗id
Ptype pb.PvpType //pvp类型
State pb.PvpState //战斗状态
Red *pb.PvpUserInfo //红方id
Redformation *pb.BattleFormation //红方阵型列表
Blue *pb.PvpUserInfo //红方id
Blueformation *pb.BattleFormation //红方阵型列表
readytimer *timewheel.Task //准备倒计时定时器
lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象
}

13
modules/pvp/modelPvp.go Normal file
View File

@ -0,0 +1,13 @@
package pvp
import (
"go_dreamfactory/modules"
)
///Pvp 数据组件
type modelPvpComp struct {
modules.MCompModel
module *Pvp
}

188
modules/pvp/module.go Normal file
View File

@ -0,0 +1,188 @@
package pvp
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/timewheel"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"sync"
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
)
/*
模块名:支付系统
描述:充值商城
开发:李伟
*/
func NewModule() core.IModule {
m := new(Pvp)
return m
}
type Pvp struct {
modules.ModuleBase
service base.IRPCXService
battle comm.IBattle
api_comp *apiComp
lock sync.RWMutex
battles map[string]*BattleItem
}
//模块名
func (this *Pvp) GetType() core.M_Modules {
return comm.ModulePvp
}
//模块初始化接口 注册用户创建角色事件
func (this *Pvp) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service.(base.IRPCXService)
return
}
func (this *Pvp) Start() (err error) {
err = this.ModuleBase.Start()
var module core.IModule
if module, err = this.service.GetModule(comm.ModuleBattle); err != nil {
return
}
this.battle = module.(comm.IBattle)
return
}
//装备组件
func (this *Pvp) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp)
}
//创建Pvp
func (this *Pvp) CreatePvp(red, blue *pb.PvpUserInfo, ptype pb.PvpType) (battleId string, code pb.ErrorCode) {
var (
battle *BattleItem
err error
)
battleId = primitive.NewObjectID().Hex()
battle = &BattleItem{
Id: battleId,
Ptype: ptype,
State: pb.PvpState_ready,
Red: red,
Blue: blue,
readytimer: timewheel.Add(time.Second*15, this.readyTimeOut, battleId),
}
this.lock.Lock()
this.battles[battle.Id] = battle
this.lock.Unlock()
if err = this.SendMsgToUsers(string(comm.ModulePvp), "ready", &pb.PvpReadyPush{
ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()),
Battleid: battle.Id,
Red: battle.Red,
Blue: battle.Blue,
Countdown: 15,
}, red.Uid, blue.Uid); err != nil {
this.Errorln(err)
code = pb.ErrorCode_RpcFuncExecutionError
}
return
}
//推送战斗输出指令
func (this *Pvp) PvpOutCmdPush(out *pb.PvpOutCmdPush) {
}
//推送战斗结束
func (this *Pvp) PvpFinishPush(battleId string) {
}
//准备超时 取消战斗
func (this *Pvp) readyTimeOut(task *timewheel.Task, args ...interface{}) {
var (
id string
battle *BattleItem
ok bool
err error
)
id = args[0].(string)
this.lock.RLock()
battle, ok = this.battles[id]
this.lock.RUnlock()
if ok && battle.State == pb.PvpState_ready {
battle.lock.Lock()
battle.State = pb.PvpState_cancel
battle.lock.Unlock()
this.lock.Lock()
delete(this.battles, id)
this.lock.Unlock()
if err = this.SendMsgToUsers(string(comm.ModulePvp), "cancel", &pb.PvpCancelPush{
ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()),
Battleid: battle.Id,
}, battle.Red.Uid, battle.Blue.Uid); err != nil {
this.Errorln(err)
}
}
}
//开始战斗
func (this *Pvp) startBattle(battle *BattleItem) {
var (
record *pb.DBBattleRecord
info *pb.BattleInfo
code pb.ErrorCode
err error
)
if code, record = this.battle.CreateRtPvpBattle(&pb.BattleRTPVPReq{
Ptype: pb.PlayType_friendsmeet,
Title: "",
RedCompId: battle.Red.Uid,
Redformat: []*pb.BattleFormation{battle.Redformation},
BlueCompId: battle.Blue.Uid,
Bulefformat: []*pb.BattleFormation{battle.Blueformation},
}); code != pb.ErrorCode_Success {
this.lock.Lock()
delete(this.battles, battle.Id)
this.lock.Unlock()
if err = this.SendMsgToUsers(string(comm.ModulePvp), "cancel", &pb.PvpCancelPush{
ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()),
Battleid: battle.Id,
}, battle.Red.Uid, battle.Blue.Uid); err != nil {
this.Errorln(err)
}
} else {
record.Id = battle.Id
info = &pb.BattleInfo{
Id: record.Id,
Title: record.Title,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
}
if code = this.battle.CreateBattleServer(info); code != pb.ErrorCode_Success {
this.lock.Lock()
delete(this.battles, battle.Id)
this.lock.Unlock()
if err = this.SendMsgToUsers(string(comm.ModulePvp), "cancel", &pb.PvpCancelPush{
ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()),
Battleid: battle.Id,
}, battle.Red.Uid, battle.Blue.Uid); err != nil {
this.Errorln(err)
}
} else {
if err = this.SendMsgToUsers(string(comm.ModulePvp), "start", &pb.PvpStartPush{
Info: info,
}, battle.Red.Uid, battle.Blue.Uid); err != nil {
this.Errorln(err)
}
}
}
}

View File

@ -470,7 +470,7 @@ type DBArenaUser struct {
Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar" bson:"avatar"` //头像
Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv" bson:"lv"` //等级
Integral int32 `protobuf:"varint,5,opt,name=integral,proto3" json:"integral"` //积分
// int32 ticket = 6; //挑战券
// int32 ticket = 6; //挑战券
Dan int32 `protobuf:"varint,7,opt,name=dan,proto3" json:"dan"` //段位
Attack *DBPlayerBattleFormt `protobuf:"bytes,8,opt,name=attack,proto3" json:"attack"` //进攻阵型
Defend *DBPlayerBattleFormt `protobuf:"bytes,9,opt,name=defend,proto3" json:"defend"` //防守阵型

View File

@ -1292,70 +1292,6 @@ func (x *ArenaPlotRewardResp) GetNpc() map[int32]*DBNpc {
return nil
}
//实时pvp推送
type ArenaRTimePvpPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomId string `protobuf:"bytes,1,opt,name=RoomId,proto3" json:"RoomId"`
ServicePath string `protobuf:"bytes,2,opt,name=servicePath,proto3" json:"servicePath"`
Info *BattleInfo `protobuf:"bytes,3,opt,name=info,proto3" json:"info"`
}
func (x *ArenaRTimePvpPush) Reset() {
*x = ArenaRTimePvpPush{}
if protoimpl.UnsafeEnabled {
mi := &file_arena_arena_msg_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ArenaRTimePvpPush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ArenaRTimePvpPush) ProtoMessage() {}
func (x *ArenaRTimePvpPush) ProtoReflect() protoreflect.Message {
mi := &file_arena_arena_msg_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ArenaRTimePvpPush.ProtoReflect.Descriptor instead.
func (*ArenaRTimePvpPush) Descriptor() ([]byte, []int) {
return file_arena_arena_msg_proto_rawDescGZIP(), []int{24}
}
func (x *ArenaRTimePvpPush) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *ArenaRTimePvpPush) GetServicePath() string {
if x != nil {
return x.ServicePath
}
return ""
}
func (x *ArenaRTimePvpPush) GetInfo() *BattleInfo {
if x != nil {
return x.Info
}
return nil
}
var File_arena_arena_msg_proto protoreflect.FileDescriptor
var file_arena_arena_msg_proto_rawDesc = []byte{
@ -1470,14 +1406,7 @@ var file_arena_arena_msg_proto_rawDesc = []byte{
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06,
0x2e, 0x44, 0x42, 0x4e, 0x70, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x22, 0x6e, 0x0a, 0x11, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x52, 0x54, 0x69, 0x6d, 0x65, 0x50,
0x76, 0x70, 0x50, 0x75, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68,
0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66,
0x6f, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
@ -1493,7 +1422,7 @@ func file_arena_arena_msg_proto_rawDescGZIP() []byte {
return file_arena_arena_msg_proto_rawDescData
}
var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_arena_arena_msg_proto_goTypes = []interface{}{
(*ArenaInfoReq)(nil), // 0: ArenaInfoReq
(*ArenaInfoResp)(nil), // 1: ArenaInfoResp
@ -1519,38 +1448,36 @@ var file_arena_arena_msg_proto_goTypes = []interface{}{
(*ArenaPlotResp)(nil), // 21: ArenaPlotResp
(*ArenaPlotRewardReq)(nil), // 22: ArenaPlotRewardReq
(*ArenaPlotRewardResp)(nil), // 23: ArenaPlotRewardResp
(*ArenaRTimePvpPush)(nil), // 24: ArenaRTimePvpPush
nil, // 25: ArenaPlotRewardResp.NpcEntry
(*DBArenaUser)(nil), // 26: DBArenaUser
(*ArenaPlayer)(nil), // 27: ArenaPlayer
(*BattleFormation)(nil), // 28: BattleFormation
(ErrorCode)(0), // 29: ErrorCode
(*BattleInfo)(nil), // 30: BattleInfo
(*BattleReport)(nil), // 31: BattleReport
(*DBNpc)(nil), // 32: DBNpc
nil, // 24: ArenaPlotRewardResp.NpcEntry
(*DBArenaUser)(nil), // 25: DBArenaUser
(*ArenaPlayer)(nil), // 26: ArenaPlayer
(*BattleFormation)(nil), // 27: BattleFormation
(ErrorCode)(0), // 28: ErrorCode
(*BattleInfo)(nil), // 29: BattleInfo
(*BattleReport)(nil), // 30: BattleReport
(*DBNpc)(nil), // 31: DBNpc
}
var file_arena_arena_msg_proto_depIdxs = []int32{
26, // 0: ArenaInfoResp.info:type_name -> DBArenaUser
26, // 1: ArenaOtherInfoResp.info:type_name -> DBArenaUser
27, // 2: ArenaMatcheResp.players:type_name -> ArenaPlayer
28, // 3: ArenaChallengeReq.battle:type_name -> BattleFormation
29, // 4: ArenaChallengeResp.code:type_name -> ErrorCode
30, // 5: ArenaChallengeResp.info:type_name -> BattleInfo
31, // 6: ArenaChallengeRewardReq.report:type_name -> BattleReport
27, // 7: ArenaRankResp.players:type_name -> ArenaPlayer
26, // 8: ArenaRankResp.info:type_name -> DBArenaUser
28, // 9: ArenaPlotReq.battle:type_name -> BattleFormation
29, // 10: ArenaPlotResp.code:type_name -> ErrorCode
30, // 11: ArenaPlotResp.info:type_name -> BattleInfo
31, // 12: ArenaPlotRewardReq.report:type_name -> BattleReport
25, // 13: ArenaPlotRewardResp.npc:type_name -> ArenaPlotRewardResp.NpcEntry
30, // 14: ArenaRTimePvpPush.info:type_name -> BattleInfo
32, // 15: ArenaPlotRewardResp.NpcEntry.value:type_name -> DBNpc
16, // [16:16] is the sub-list for method output_type
16, // [16:16] is the sub-list for method input_type
16, // [16:16] is the sub-list for extension type_name
16, // [16:16] is the sub-list for extension extendee
0, // [0:16] is the sub-list for field type_name
25, // 0: ArenaInfoResp.info:type_name -> DBArenaUser
25, // 1: ArenaOtherInfoResp.info:type_name -> DBArenaUser
26, // 2: ArenaMatcheResp.players:type_name -> ArenaPlayer
27, // 3: ArenaChallengeReq.battle:type_name -> BattleFormation
28, // 4: ArenaChallengeResp.code:type_name -> ErrorCode
29, // 5: ArenaChallengeResp.info:type_name -> BattleInfo
30, // 6: ArenaChallengeRewardReq.report:type_name -> BattleReport
26, // 7: ArenaRankResp.players:type_name -> ArenaPlayer
25, // 8: ArenaRankResp.info:type_name -> DBArenaUser
27, // 9: ArenaPlotReq.battle:type_name -> BattleFormation
28, // 10: ArenaPlotResp.code:type_name -> ErrorCode
29, // 11: ArenaPlotResp.info:type_name -> BattleInfo
30, // 12: ArenaPlotRewardReq.report:type_name -> BattleReport
24, // 13: ArenaPlotRewardResp.npc:type_name -> ArenaPlotRewardResp.NpcEntry
31, // 14: ArenaPlotRewardResp.NpcEntry.value:type_name -> DBNpc
15, // [15:15] is the sub-list for method output_type
15, // [15:15] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
}
func init() { file_arena_arena_msg_proto_init() }
@ -1850,18 +1777,6 @@ func file_arena_arena_msg_proto_init() {
return nil
}
}
file_arena_arena_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ArenaRTimePvpPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
@ -1869,7 +1784,7 @@ func file_arena_arena_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_arena_arena_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 26,
NumMessages: 25,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -23,11 +23,12 @@ const (
type BattleType int32
const (
BattleType_nil BattleType = 0
BattleType_pve BattleType = 1
BattleType_pvp BattleType = 2
BattleType_pvb BattleType = 3
BattleType_eve BattleType = 4
BattleType_nil BattleType = 0
BattleType_pve BattleType = 1
BattleType_pvp BattleType = 2
BattleType_pvb BattleType = 3
BattleType_eve BattleType = 4
BattleType_rtpvp BattleType = 5
)
// Enum value maps for BattleType.
@ -38,13 +39,15 @@ var (
2: "pvp",
3: "pvb",
4: "eve",
5: "rtpvp",
}
BattleType_value = map[string]int32{
"nil": 0,
"pve": 1,
"pvp": 2,
"pvb": 3,
"eve": 4,
"nil": 0,
"pve": 1,
"pvp": 2,
"pvb": 3,
"eve": 4,
"rtpvp": 5,
}
)
@ -92,6 +95,7 @@ const (
PlayType_combat PlayType = 10 //新关卡
PlayType_enchant PlayType = 11 // 附魔副本
PlayType_sociaty PlayType = 12 //工会战
PlayType_friendsmeet PlayType = 13 //好友切磋
)
// Enum value maps for PlayType.
@ -110,6 +114,7 @@ var (
10: "combat",
11: "enchant",
12: "sociaty",
13: "friendsmeet",
}
PlayType_value = map[string]int32{
"null": 0,
@ -125,6 +130,7 @@ var (
"combat": 10,
"enchant": 11,
"sociaty": 12,
"friendsmeet": 13,
}
)
@ -703,27 +709,29 @@ var file_battle_battle_db_proto_rawDesc = []byte{
0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f,
0x6d, 0x70, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61,
0x73, 0x6b, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73,
0x2a, 0x39, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07,
0x2a, 0x44, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07,
0x0a, 0x03, 0x6e, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x65, 0x10, 0x01,
0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x70, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x62,
0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x76, 0x65, 0x10, 0x04, 0x2a, 0xb3, 0x01, 0x0a, 0x08,
0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c,
0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0x01,
0x12, 0x0a, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05,
0x72, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x68, 0x75, 0x6e, 0x74, 0x69,
0x6e, 0x67, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x05,
0x12, 0x0f, 0x0a, 0x0b, 0x6d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x10,
0x06, 0x12, 0x09, 0x0a, 0x05, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07,
0x61, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x68, 0x65, 0x72,
0x6f, 0x74, 0x65, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x63,
0x6f, 0x6d, 0x62, 0x61, 0x74, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x68, 0x61,
0x6e, 0x74, 0x10, 0x0b, 0x12, 0x0b, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x10,
0x0c, 0x2a, 0x1f, 0x0a, 0x0c, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74,
0x65, 0x12, 0x06, 0x0a, 0x02, 0x69, 0x6e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x6e, 0x64,
0x10, 0x02, 0x2a, 0x2b, 0x0a, 0x0c, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f,
0x6d, 0x70, 0x12, 0x08, 0x0a, 0x04, 0x64, 0x72, 0x61, 0x77, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03,
0x72, 0x65, 0x64, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x10, 0x02, 0x42,
0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x76, 0x65, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x72,
0x74, 0x70, 0x76, 0x70, 0x10, 0x05, 0x2a, 0xc4, 0x01, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x54,
0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a,
0x08, 0x6d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x70,
0x61, 0x67, 0x6f, 0x64, 0x61, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x72, 0x74, 0x61, 0x73, 0x6b,
0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12,
0x0a, 0x0a, 0x06, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x6d,
0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05,
0x61, 0x72, 0x65, 0x6e, 0x61, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x61, 0x63, 0x61, 0x64, 0x65,
0x6d, 0x79, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x74, 0x65, 0x61, 0x63,
0x68, 0x69, 0x6e, 0x67, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74,
0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x10, 0x0b, 0x12,
0x0b, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b,
0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x6d, 0x65, 0x65, 0x74, 0x10, 0x0d, 0x2a, 0x1f, 0x0a,
0x0c, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x06, 0x0a,
0x02, 0x69, 0x6e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x10, 0x02, 0x2a, 0x2b,
0x0a, 0x0c, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x12, 0x08,
0x0a, 0x04, 0x64, 0x72, 0x61, 0x77, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x10,
0x01, 0x12, 0x08, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x10, 0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e,
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -372,7 +372,7 @@ func (x *PVPFormation) GetFormat() []*DBHero {
return nil
}
// pve 战斗创建请求 (此请求 为服务端间使用 客户端可忽略)
// pvp 异步 战斗创建请求 (此请求 为服务端间使用 客户端可忽略)
type BattlePVPReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -444,6 +444,94 @@ func (x *BattlePVPReq) GetBuleformat() *PVPFormation {
return nil
}
// pvp 同步 战斗创建请求 (此请求 为服务端间使用 客户端可忽略)
type BattleRTPVPReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ptype PlayType `protobuf:"varint,1,opt,name=ptype,proto3,enum=PlayType" json:"ptype"` //玩法类型
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` //战斗标题
RedCompId string `protobuf:"bytes,6,opt,name=redCompId,proto3" json:"redCompId"` //红方阵营id
Redformat []*BattleFormation `protobuf:"bytes,7,rep,name=redformat,proto3" json:"redformat"` //红方阵型列表
BlueCompId string `protobuf:"bytes,8,opt,name=blueCompId,proto3" json:"blueCompId"` //蓝方阵营id
Bulefformat []*BattleFormation `protobuf:"bytes,9,rep,name=bulefformat,proto3" json:"bulefformat"` //红方阵型列表
}
func (x *BattleRTPVPReq) Reset() {
*x = BattleRTPVPReq{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BattleRTPVPReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BattleRTPVPReq) ProtoMessage() {}
func (x *BattleRTPVPReq) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BattleRTPVPReq.ProtoReflect.Descriptor instead.
func (*BattleRTPVPReq) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{6}
}
func (x *BattleRTPVPReq) GetPtype() PlayType {
if x != nil {
return x.Ptype
}
return PlayType_null
}
func (x *BattleRTPVPReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *BattleRTPVPReq) GetRedCompId() string {
if x != nil {
return x.RedCompId
}
return ""
}
func (x *BattleRTPVPReq) GetRedformat() []*BattleFormation {
if x != nil {
return x.Redformat
}
return nil
}
func (x *BattleRTPVPReq) GetBlueCompId() string {
if x != nil {
return x.BlueCompId
}
return ""
}
func (x *BattleRTPVPReq) GetBulefformat() []*BattleFormation {
if x != nil {
return x.Bulefformat
}
return nil
}
// pvb 战斗创建请求 (工会boos战专用)
type BattlePVBReq struct {
state protoimpl.MessageState
@ -459,7 +547,7 @@ type BattlePVBReq struct {
func (x *BattlePVBReq) Reset() {
*x = BattlePVBReq{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[6]
mi := &file_battle_battle_msg_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -472,7 +560,7 @@ func (x *BattlePVBReq) String() string {
func (*BattlePVBReq) ProtoMessage() {}
func (x *BattlePVBReq) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[6]
mi := &file_battle_battle_msg_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -485,7 +573,7 @@ func (x *BattlePVBReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use BattlePVBReq.ProtoReflect.Descriptor instead.
func (*BattlePVBReq) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{6}
return file_battle_battle_msg_proto_rawDescGZIP(), []int{7}
}
func (x *BattlePVBReq) GetPtype() PlayType {
@ -537,7 +625,7 @@ type BattleInfo struct {
func (x *BattleInfo) Reset() {
*x = BattleInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[7]
mi := &file_battle_battle_msg_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -550,7 +638,7 @@ func (x *BattleInfo) String() string {
func (*BattleInfo) ProtoMessage() {}
func (x *BattleInfo) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[7]
mi := &file_battle_battle_msg_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -563,7 +651,7 @@ func (x *BattleInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use BattleInfo.ProtoReflect.Descriptor instead.
func (*BattleInfo) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{7}
return file_battle_battle_msg_proto_rawDescGZIP(), []int{8}
}
func (x *BattleInfo) GetId() string {
@ -648,7 +736,7 @@ type BattleCmd struct {
func (x *BattleCmd) Reset() {
*x = BattleCmd{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[8]
mi := &file_battle_battle_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -661,7 +749,7 @@ func (x *BattleCmd) String() string {
func (*BattleCmd) ProtoMessage() {}
func (x *BattleCmd) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[8]
mi := &file_battle_battle_msg_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -674,7 +762,7 @@ func (x *BattleCmd) ProtoReflect() protoreflect.Message {
// Deprecated: Use BattleCmd.ProtoReflect.Descriptor instead.
func (*BattleCmd) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{8}
return file_battle_battle_msg_proto_rawDescGZIP(), []int{9}
}
func (x *BattleCmd) GetCmdtype() string {
@ -710,7 +798,7 @@ type BattleReport struct {
func (x *BattleReport) Reset() {
*x = BattleReport{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[9]
mi := &file_battle_battle_msg_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -723,7 +811,7 @@ func (x *BattleReport) String() string {
func (*BattleReport) ProtoMessage() {}
func (x *BattleReport) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[9]
mi := &file_battle_battle_msg_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -736,7 +824,7 @@ func (x *BattleReport) ProtoReflect() protoreflect.Message {
// Deprecated: Use BattleReport.ProtoReflect.Descriptor instead.
func (*BattleReport) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{9}
return file_battle_battle_msg_proto_rawDescGZIP(), []int{10}
}
func (x *BattleReport) GetInfo() *BattleInfo {
@ -809,7 +897,7 @@ type BattleRpcMessage struct {
func (x *BattleRpcMessage) Reset() {
*x = BattleRpcMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[10]
mi := &file_battle_battle_msg_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -822,7 +910,7 @@ func (x *BattleRpcMessage) String() string {
func (*BattleRpcMessage) ProtoMessage() {}
func (x *BattleRpcMessage) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[10]
mi := &file_battle_battle_msg_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -835,7 +923,7 @@ func (x *BattleRpcMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use BattleRpcMessage.ProtoReflect.Descriptor instead.
func (*BattleRpcMessage) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{10}
return file_battle_battle_msg_proto_rawDescGZIP(), []int{11}
}
func (x *BattleRpcMessage) GetRid() uint64 {
@ -871,7 +959,7 @@ type BattleCheckResults struct {
func (x *BattleCheckResults) Reset() {
*x = BattleCheckResults{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[11]
mi := &file_battle_battle_msg_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -884,7 +972,7 @@ func (x *BattleCheckResults) String() string {
func (*BattleCheckResults) ProtoMessage() {}
func (x *BattleCheckResults) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[11]
mi := &file_battle_battle_msg_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -897,7 +985,7 @@ func (x *BattleCheckResults) ProtoReflect() protoreflect.Message {
// Deprecated: Use BattleCheckResults.ProtoReflect.Descriptor instead.
func (*BattleCheckResults) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{11}
return file_battle_battle_msg_proto_rawDescGZIP(), []int{12}
}
func (x *BattleCheckResults) GetIscheck() bool {
@ -907,6 +995,326 @@ func (x *BattleCheckResults) GetIscheck() bool {
return false
}
//创建战斗服务 请求
type BattleCreateServerReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Info *BattleInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"`
}
func (x *BattleCreateServerReq) Reset() {
*x = BattleCreateServerReq{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BattleCreateServerReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BattleCreateServerReq) ProtoMessage() {}
func (x *BattleCreateServerReq) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BattleCreateServerReq.ProtoReflect.Descriptor instead.
func (*BattleCreateServerReq) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{13}
}
func (x *BattleCreateServerReq) GetInfo() *BattleInfo {
if x != nil {
return x.Info
}
return nil
}
//创建战斗服务 请求回应
type BattleCreateServerResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"`
}
func (x *BattleCreateServerResp) Reset() {
*x = BattleCreateServerResp{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BattleCreateServerResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BattleCreateServerResp) ProtoMessage() {}
func (x *BattleCreateServerResp) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BattleCreateServerResp.ProtoReflect.Descriptor instead.
func (*BattleCreateServerResp) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{14}
}
func (x *BattleCreateServerResp) GetIssucc() bool {
if x != nil {
return x.Issucc
}
return false
}
//创建战斗服务 请求
type BattleInCmdReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"`
In *BattleCmd `protobuf:"bytes,2,opt,name=in,proto3" json:"in"`
}
func (x *BattleInCmdReq) Reset() {
*x = BattleInCmdReq{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BattleInCmdReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BattleInCmdReq) ProtoMessage() {}
func (x *BattleInCmdReq) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BattleInCmdReq.ProtoReflect.Descriptor instead.
func (*BattleInCmdReq) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{15}
}
func (x *BattleInCmdReq) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *BattleInCmdReq) GetIn() *BattleCmd {
if x != nil {
return x.In
}
return nil
}
//创建战斗服务 请求
type BattleInCmdResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"`
In *BattleCmd `protobuf:"bytes,2,opt,name=in,proto3" json:"in"`
Issucc bool `protobuf:"varint,3,opt,name=issucc,proto3" json:"issucc"`
}
func (x *BattleInCmdResp) Reset() {
*x = BattleInCmdResp{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BattleInCmdResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BattleInCmdResp) ProtoMessage() {}
func (x *BattleInCmdResp) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BattleInCmdResp.ProtoReflect.Descriptor instead.
func (*BattleInCmdResp) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{16}
}
func (x *BattleInCmdResp) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *BattleInCmdResp) GetIn() *BattleCmd {
if x != nil {
return x.In
}
return nil
}
func (x *BattleInCmdResp) GetIssucc() bool {
if x != nil {
return x.Issucc
}
return false
}
//战斗服务 指令推送
type BattleOutCmdPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"`
Cmd []*BattleCmd `protobuf:"bytes,2,rep,name=cmd,proto3" json:"cmd"`
}
func (x *BattleOutCmdPush) Reset() {
*x = BattleOutCmdPush{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BattleOutCmdPush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BattleOutCmdPush) ProtoMessage() {}
func (x *BattleOutCmdPush) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BattleOutCmdPush.ProtoReflect.Descriptor instead.
func (*BattleOutCmdPush) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{17}
}
func (x *BattleOutCmdPush) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *BattleOutCmdPush) GetCmd() []*BattleCmd {
if x != nil {
return x.Cmd
}
return nil
}
//战斗服务 结束推送
type BattleFinishPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"`
}
func (x *BattleFinishPush) Reset() {
*x = BattleFinishPush{}
if protoimpl.UnsafeEnabled {
mi := &file_battle_battle_msg_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BattleFinishPush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BattleFinishPush) ProtoMessage() {}
func (x *BattleFinishPush) ProtoReflect() protoreflect.Message {
mi := &file_battle_battle_msg_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BattleFinishPush.ProtoReflect.Descriptor instead.
func (*BattleFinishPush) Descriptor() ([]byte, []int) {
return file_battle_battle_msg_proto_rawDescGZIP(), []int{18}
}
func (x *BattleFinishPush) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
var File_battle_battle_msg_proto protoreflect.FileDescriptor
var file_battle_battle_msg_proto_rawDesc = []byte{
@ -964,65 +1372,106 @@ var file_battle_battle_msg_proto_rawDesc = []byte{
0x52, 0x09, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x62,
0x75, 0x6c, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0d, 0x2e, 0x50, 0x56, 0x50, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a,
0x62, 0x75, 0x6c, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x0c, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x56, 0x42, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x70,
0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61,
0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74,
0x6c, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07,
0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x6d,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xba, 0x02, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
0x63, 0x65, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e,
0x65, 0x12, 0x21, 0x0a, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x62,
0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05,
0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70,
0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6d,
0x70, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18,
0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x08, 0x72, 0x65, 0x64, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x12,
0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x08, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12,
0x2c, 0x0a, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72,
0x6d, 0x74, 0x52, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61,
0x73, 0x6b, 0x73, 0x22, 0x3b, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64,
0x12, 0x18, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x63, 0x6d, 0x64, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x22, 0xf5, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72,
0x74, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e,
0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20,
0x0a, 0x05, 0x69, 0x6e, 0x63, 0x6d, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x05, 0x69, 0x6e, 0x63, 0x6d, 0x64,
0x12, 0x22, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x63, 0x6d, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x06, 0x6f, 0x75,
0x74, 0x63, 0x6d, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
0x74, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70,
0x6c, 0x65, 0x74, 0x65, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x61, 0x74,
0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x12, 0x14,
0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72,
0x6f, 0x75, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x68, 0x61, 0x72, 0x6d, 0x22, 0x66, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x52, 0x70, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03,
0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x16,
0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
0x22, 0x2e, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x62, 0x75, 0x6c, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xe9, 0x01, 0x0a, 0x0e, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x54, 0x50, 0x56, 0x50, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a,
0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50,
0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49,
0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70,
0x49, 0x64, 0x12, 0x2e, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18,
0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f,
0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70,
0x49, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x62, 0x75, 0x6c, 0x65, 0x66,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x50, 0x56, 0x42, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70,
0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28,
0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x74, 0x22, 0xba, 0x02, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x21, 0x0a,
0x05, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65,
0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12,
0x2a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d,
0x74, 0x52, 0x08, 0x72, 0x65, 0x64, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62,
0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x62,
0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e,
0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x09,
0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x73,
0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22,
0x3b, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x18, 0x0a, 0x07,
0x63, 0x6d, 0x64, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63,
0x6d, 0x64, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf5, 0x01, 0x0a,
0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a,
0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1a,
0x0a, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x69, 0x6e,
0x63, 0x6d, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x05, 0x69, 0x6e, 0x63, 0x6d, 0x64, 0x12, 0x22, 0x0a, 0x06,
0x6f, 0x75, 0x74, 0x63, 0x6d, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x63, 0x6d, 0x64,
0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x74, 0x61, 0x73, 0x6b,
0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
0x74, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f,
0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64,
0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x68, 0x61, 0x72, 0x6d, 0x22, 0x66, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x70,
0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65,
0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68,
0x6f, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x12,
0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20,
0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x38, 0x0a, 0x15,
0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x30, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x48, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x02,
0x69, 0x6e, 0x22, 0x61, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d,
0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x16, 0x0a,
0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x4c, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4f,
0x75, 0x74, 0x43, 0x6d, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74,
0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74,
0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x03,
0x63, 0x6d, 0x64, 0x22, 0x2e, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x69, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
@ -1037,50 +1486,64 @@ func file_battle_battle_msg_proto_rawDescGZIP() []byte {
return file_battle_battle_msg_proto_rawDescData
}
var file_battle_battle_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_battle_battle_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_battle_battle_msg_proto_goTypes = []interface{}{
(*LineUp)(nil), // 0: LineUp
(*BattleFormation)(nil), // 1: BattleFormation
(*BattleEVEReq)(nil), // 2: BattleEVEReq
(*BattlePVEReq)(nil), // 3: BattlePVEReq
(*PVPFormation)(nil), // 4: PVPFormation
(*BattlePVPReq)(nil), // 5: BattlePVPReq
(*BattlePVBReq)(nil), // 6: BattlePVBReq
(*BattleInfo)(nil), // 7: BattleInfo
(*BattleCmd)(nil), // 8: BattleCmd
(*BattleReport)(nil), // 9: BattleReport
(*BattleRpcMessage)(nil), // 10: BattleRpcMessage
(*BattleCheckResults)(nil), // 11: BattleCheckResults
(PlayType)(0), // 12: PlayType
(*DBHero)(nil), // 13: DBHero
(BattleType)(0), // 14: BattleType
(*DBBattleFormt)(nil), // 15: DBBattleFormt
(*anypb.Any)(nil), // 16: google.protobuf.Any
(*LineUp)(nil), // 0: LineUp
(*BattleFormation)(nil), // 1: BattleFormation
(*BattleEVEReq)(nil), // 2: BattleEVEReq
(*BattlePVEReq)(nil), // 3: BattlePVEReq
(*PVPFormation)(nil), // 4: PVPFormation
(*BattlePVPReq)(nil), // 5: BattlePVPReq
(*BattleRTPVPReq)(nil), // 6: BattleRTPVPReq
(*BattlePVBReq)(nil), // 7: BattlePVBReq
(*BattleInfo)(nil), // 8: BattleInfo
(*BattleCmd)(nil), // 9: BattleCmd
(*BattleReport)(nil), // 10: BattleReport
(*BattleRpcMessage)(nil), // 11: BattleRpcMessage
(*BattleCheckResults)(nil), // 12: BattleCheckResults
(*BattleCreateServerReq)(nil), // 13: BattleCreateServerReq
(*BattleCreateServerResp)(nil), // 14: BattleCreateServerResp
(*BattleInCmdReq)(nil), // 15: BattleInCmdReq
(*BattleInCmdResp)(nil), // 16: BattleInCmdResp
(*BattleOutCmdPush)(nil), // 17: BattleOutCmdPush
(*BattleFinishPush)(nil), // 18: BattleFinishPush
(PlayType)(0), // 19: PlayType
(*DBHero)(nil), // 20: DBHero
(BattleType)(0), // 21: BattleType
(*DBBattleFormt)(nil), // 22: DBBattleFormt
(*anypb.Any)(nil), // 23: google.protobuf.Any
}
var file_battle_battle_msg_proto_depIdxs = []int32{
12, // 0: BattleEVEReq.ptype:type_name -> PlayType
19, // 0: BattleEVEReq.ptype:type_name -> PlayType
1, // 1: BattleEVEReq.format:type_name -> BattleFormation
12, // 2: BattlePVEReq.ptype:type_name -> PlayType
19, // 2: BattlePVEReq.ptype:type_name -> PlayType
1, // 3: BattlePVEReq.format:type_name -> BattleFormation
13, // 4: PVPFormation.format:type_name -> DBHero
12, // 5: BattlePVPReq.ptype:type_name -> PlayType
20, // 4: PVPFormation.format:type_name -> DBHero
19, // 5: BattlePVPReq.ptype:type_name -> PlayType
4, // 6: BattlePVPReq.redformat:type_name -> PVPFormation
4, // 7: BattlePVPReq.buleformat:type_name -> PVPFormation
12, // 8: BattlePVBReq.ptype:type_name -> PlayType
1, // 9: BattlePVBReq.format:type_name -> BattleFormation
14, // 10: BattleInfo.btype:type_name -> BattleType
12, // 11: BattleInfo.ptype:type_name -> PlayType
15, // 12: BattleInfo.redflist:type_name -> DBBattleFormt
15, // 13: BattleInfo.buleflist:type_name -> DBBattleFormt
7, // 14: BattleReport.info:type_name -> BattleInfo
8, // 15: BattleReport.incmd:type_name -> BattleCmd
8, // 16: BattleReport.outcmd:type_name -> BattleCmd
16, // 17: BattleRpcMessage.data:type_name -> google.protobuf.Any
18, // [18:18] is the sub-list for method output_type
18, // [18:18] is the sub-list for method input_type
18, // [18:18] is the sub-list for extension type_name
18, // [18:18] is the sub-list for extension extendee
0, // [0:18] is the sub-list for field type_name
19, // 8: BattleRTPVPReq.ptype:type_name -> PlayType
1, // 9: BattleRTPVPReq.redformat:type_name -> BattleFormation
1, // 10: BattleRTPVPReq.bulefformat:type_name -> BattleFormation
19, // 11: BattlePVBReq.ptype:type_name -> PlayType
1, // 12: BattlePVBReq.format:type_name -> BattleFormation
21, // 13: BattleInfo.btype:type_name -> BattleType
19, // 14: BattleInfo.ptype:type_name -> PlayType
22, // 15: BattleInfo.redflist:type_name -> DBBattleFormt
22, // 16: BattleInfo.buleflist:type_name -> DBBattleFormt
8, // 17: BattleReport.info:type_name -> BattleInfo
9, // 18: BattleReport.incmd:type_name -> BattleCmd
9, // 19: BattleReport.outcmd:type_name -> BattleCmd
23, // 20: BattleRpcMessage.data:type_name -> google.protobuf.Any
8, // 21: BattleCreateServerReq.info:type_name -> BattleInfo
9, // 22: BattleInCmdReq.in:type_name -> BattleCmd
9, // 23: BattleInCmdResp.in:type_name -> BattleCmd
9, // 24: BattleOutCmdPush.cmd:type_name -> BattleCmd
25, // [25:25] is the sub-list for method output_type
25, // [25:25] is the sub-list for method input_type
25, // [25:25] is the sub-list for extension type_name
25, // [25:25] is the sub-list for extension extendee
0, // [0:25] is the sub-list for field type_name
}
func init() { file_battle_battle_msg_proto_init() }
@ -1164,7 +1627,7 @@ func file_battle_battle_msg_proto_init() {
}
}
file_battle_battle_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattlePVBReq); i {
switch v := v.(*BattleRTPVPReq); i {
case 0:
return &v.state
case 1:
@ -1176,7 +1639,7 @@ func file_battle_battle_msg_proto_init() {
}
}
file_battle_battle_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleInfo); i {
switch v := v.(*BattlePVBReq); i {
case 0:
return &v.state
case 1:
@ -1188,7 +1651,7 @@ func file_battle_battle_msg_proto_init() {
}
}
file_battle_battle_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleCmd); i {
switch v := v.(*BattleInfo); i {
case 0:
return &v.state
case 1:
@ -1200,7 +1663,7 @@ func file_battle_battle_msg_proto_init() {
}
}
file_battle_battle_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleReport); i {
switch v := v.(*BattleCmd); i {
case 0:
return &v.state
case 1:
@ -1212,7 +1675,7 @@ func file_battle_battle_msg_proto_init() {
}
}
file_battle_battle_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleRpcMessage); i {
switch v := v.(*BattleReport); i {
case 0:
return &v.state
case 1:
@ -1224,6 +1687,18 @@ func file_battle_battle_msg_proto_init() {
}
}
file_battle_battle_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleRpcMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_battle_battle_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleCheckResults); i {
case 0:
return &v.state
@ -1235,6 +1710,78 @@ func file_battle_battle_msg_proto_init() {
return nil
}
}
file_battle_battle_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleCreateServerReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_battle_battle_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleCreateServerResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_battle_battle_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleInCmdReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_battle_battle_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleInCmdResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_battle_battle_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleOutCmdPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_battle_battle_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BattleFinishPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
@ -1242,7 +1789,7 @@ func file_battle_battle_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_battle_battle_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 12,
NumMessages: 19,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -217,6 +217,8 @@ const (
// Battle
ErrorCode_BattleValidationFailed ErrorCode = 2901 //战斗校验失败
ErrorCode_BattleNoWin ErrorCode = 2902 //战斗失败
ErrorCode_BattleCreateFailed ErrorCode = 2903 //创建战斗失败
ErrorCode_BattleInCmdFailed ErrorCode = 2904 //战斗指令输入失败
// sociaty
ErrorCode_SociatyNoFound ErrorCode = 3000 //公会不存在
ErrorCode_SociatyAdded ErrorCode = 3001 //已在公会里
@ -483,6 +485,8 @@ var (
2807: "LibraryPreTaskNoFinished",
2901: "BattleValidationFailed",
2902: "BattleNoWin",
2903: "BattleCreateFailed",
2904: "BattleInCmdFailed",
3000: "SociatyNoFound",
3001: "SociatyAdded",
3002: "SociatyDiamondNoEnough",
@ -735,6 +739,8 @@ var (
"LibraryPreTaskNoFinished": 2807,
"BattleValidationFailed": 2901,
"BattleNoWin": 2902,
"BattleCreateFailed": 2903,
"BattleInCmdFailed": 2904,
"SociatyNoFound": 3000,
"SociatyAdded": 3001,
"SociatyDiamondNoEnough": 3002,
@ -845,7 +851,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
var file_errorcode_proto_rawDesc = []byte{
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2a, 0x8b, 0x2d, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x6f, 0x2a, 0xbc, 0x2d, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d,
0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12,
0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
@ -1090,123 +1096,126 @@ var file_errorcode_proto_rawDesc = []byte{
0x73, 0x68, 0x65, 0x64, 0x10, 0xf7, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65,
0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f,
0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12, 0x1b,
0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64,
0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0xbb,
0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52, 0x69,
0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe, 0x17,
0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x10,
0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72,
0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63,
0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0xba, 0xea,
0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x74,
0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xbb, 0xea, 0x01, 0x12, 0x17, 0x0a, 0x11,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f,
0x62, 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, 0xbe,
0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67,
0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f,
0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc1, 0xea, 0x01,
0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79,
0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc3, 0xea,
0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc4, 0xea, 0x01,
0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x01, 0x12, 0x1a, 0x0a,
0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65,
0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63,
0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xc7, 0xea, 0x01,
0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e,
0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x01, 0x12, 0x1b, 0x0a,
0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e, 0x6f,
0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f,
0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75,
0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44,
0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74,
0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51,
0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd1, 0xea, 0x01,
0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x61, 0x73,
0x74, 0x65, 0x72, 0x10, 0xd2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd3, 0xea,
0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b,
0x65, 0x74, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd4, 0xea, 0x01, 0x12,
0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73,
0x4e, 0x6f, 0x69, 0x6e, 0x69, 0x74, 0x10, 0xd5, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f,
0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x10, 0xd6,
0xea, 0x01, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65, 0x61,
0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xd7, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e,
0x64, 0x10, 0xd8, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xd9,
0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xda, 0xea, 0x01, 0x12, 0x15, 0x0a,
0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55,
0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63,
0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12,
0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70,
0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65,
0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19,
0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74,
0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e,
0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12,
0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74,
0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42,
0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c,
0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54,
0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49,
0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54,
0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x10, 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f,
0x70, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a,
0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73,
0x74, 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50,
0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64,
0x10, 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65,
0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a,
0x56, 0x69, 0x70, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a,
0x0c, 0x56, 0x69, 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b,
0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74,
0x10, 0xb1, 0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52,
0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f,
0x77, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10,
0x92, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e,
0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50,
0x61, 0x79, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6,
0x1c, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d,
0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72,
0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12,
0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f,
0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f,
0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10,
0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e,
0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10,
0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64,
0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b,
0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde,
0x1d, 0x12, 0x1b, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x64, 0x4e, 0x6f, 0x73, 0x61, 0x6d, 0x65, 0x10, 0xdf, 0x1d, 0x12, 0x1e,
0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43,
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x12, 0x15,
0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x44, 0x61,
0x74, 0x61, 0x10, 0xa1, 0x1f, 0x12, 0x18, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74,
0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x72, 0x72, 0x10, 0xa2, 0x1f, 0x42,
0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd7, 0x16, 0x12,
0x16, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x46, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x10, 0xd8, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12,
0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e,
0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, 0x0a, 0x0f,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10,
0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52,
0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe,
0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74,
0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67,
0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f,
0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0xba,
0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x61, 0x73,
0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xbb, 0xea, 0x01, 0x12, 0x17, 0x0a,
0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a,
0x6f, 0x62, 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10,
0xbe, 0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69,
0x67, 0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc1, 0xea,
0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c,
0x79, 0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69,
0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc3,
0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc4, 0xea,
0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x01, 0x12, 0x1a,
0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f,
0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xc7, 0xea,
0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f,
0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69,
0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x01, 0x12, 0x1b,
0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e,
0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69,
0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f,
0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12, 0x16, 0x0a,
0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73,
0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd1, 0xea,
0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x61,
0x73, 0x74, 0x65, 0x72, 0x10, 0xd2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69,
0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd3,
0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x69, 0x63,
0x6b, 0x65, 0x74, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd4, 0xea, 0x01,
0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74,
0x73, 0x4e, 0x6f, 0x69, 0x6e, 0x69, 0x74, 0x10, 0xd5, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x10,
0xd6, 0xea, 0x01, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65,
0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xd7, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12,
0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75,
0x6e, 0x64, 0x10, 0xd8, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10,
0xd9, 0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61,
0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xda, 0xea, 0x01, 0x12, 0x15,
0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79,
0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69,
0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18,
0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e,
0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c,
0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81,
0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61,
0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55,
0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19,
0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53,
0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c,
0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f,
0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11,
0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78,
0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13,
0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77,
0x61, 0x72, 0x64, 0x10, 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63,
0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9,
0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65,
0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11,
0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e,
0x64, 0x10, 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
0x65, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a,
0x0a, 0x56, 0x69, 0x70, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11,
0x0a, 0x0c, 0x56, 0x69, 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0,
0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61,
0x74, 0x10, 0xb1, 0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72,
0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
0x10, 0x92, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d,
0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f,
0x50, 0x61, 0x79, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10,
0xf6, 0x1c, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f,
0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f,
0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d,
0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e,
0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57,
0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b,
0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a,
0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65,
0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73,
0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10,
0xde, 0x1d, 0x12, 0x1b, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4e, 0x6f, 0x73, 0x61, 0x6d, 0x65, 0x10, 0xdf, 0x1d, 0x12,
0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f,
0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x12,
0x15, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x44,
0x61, 0x74, 0x61, 0x10, 0xa1, 0x1f, 0x12, 0x18, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x72, 0x72, 0x10, 0xa2, 0x1f,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

412
pb/pvp_db.pb.go Normal file
View File

@ -0,0 +1,412 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: pvp/pvp_db.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//Pvp类型
type PvpType int32
const (
PvpType_friends PvpType = 0 //好友切磋
)
// Enum value maps for PvpType.
var (
PvpType_name = map[int32]string{
0: "friends",
}
PvpType_value = map[string]int32{
"friends": 0,
}
)
func (x PvpType) Enum() *PvpType {
p := new(PvpType)
*p = x
return p
}
func (x PvpType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PvpType) Descriptor() protoreflect.EnumDescriptor {
return file_pvp_pvp_db_proto_enumTypes[0].Descriptor()
}
func (PvpType) Type() protoreflect.EnumType {
return &file_pvp_pvp_db_proto_enumTypes[0]
}
func (x PvpType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PvpType.Descriptor instead.
func (PvpType) EnumDescriptor() ([]byte, []int) {
return file_pvp_pvp_db_proto_rawDescGZIP(), []int{0}
}
type PvpState int32
const (
PvpState_void PvpState = 0 //无效状态
PvpState_ready PvpState = 1 //准备中
PvpState_battle PvpState = 2 //战斗中
PvpState_cancel PvpState = 3 //战斗取消
PvpState_finish PvpState = 4 //战斗结束
)
// Enum value maps for PvpState.
var (
PvpState_name = map[int32]string{
0: "void",
1: "ready",
2: "battle",
3: "cancel",
4: "finish",
}
PvpState_value = map[string]int32{
"void": 0,
"ready": 1,
"battle": 2,
"cancel": 3,
"finish": 4,
}
)
func (x PvpState) Enum() *PvpState {
p := new(PvpState)
*p = x
return p
}
func (x PvpState) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PvpState) Descriptor() protoreflect.EnumDescriptor {
return file_pvp_pvp_db_proto_enumTypes[1].Descriptor()
}
func (PvpState) Type() protoreflect.EnumType {
return &file_pvp_pvp_db_proto_enumTypes[1]
}
func (x PvpState) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PvpState.Descriptor instead.
func (PvpState) EnumDescriptor() ([]byte, []int) {
return file_pvp_pvp_db_proto_rawDescGZIP(), []int{1}
}
type PvpUserInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"`
Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar"`
Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv"`
}
func (x *PvpUserInfo) Reset() {
*x = PvpUserInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpUserInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpUserInfo) ProtoMessage() {}
func (x *PvpUserInfo) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_db_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpUserInfo.ProtoReflect.Descriptor instead.
func (*PvpUserInfo) Descriptor() ([]byte, []int) {
return file_pvp_pvp_db_proto_rawDescGZIP(), []int{0}
}
func (x *PvpUserInfo) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *PvpUserInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PvpUserInfo) GetAvatar() string {
if x != nil {
return x.Avatar
}
return ""
}
func (x *PvpUserInfo) GetLv() int32 {
if x != nil {
return x.Lv
}
return 0
}
type DBPvpBattle struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` //战斗id
Ptype PvpType `protobuf:"varint,2,opt,name=ptype,proto3,enum=PvpType" json:"ptype"` //pvp类型
State PvpState `protobuf:"varint,3,opt,name=state,proto3,enum=PvpState" json:"state"` //战斗状态
Red *PvpUserInfo `protobuf:"bytes,4,opt,name=red,proto3" json:"red"` //红方id
Redformation *BattleFormation `protobuf:"bytes,5,opt,name=redformation,proto3" json:"redformation"` //红方阵型列表
Blue *PvpUserInfo `protobuf:"bytes,6,opt,name=blue,proto3" json:"blue"` //红方id
Blueformation *BattleFormation `protobuf:"bytes,7,opt,name=blueformation,proto3" json:"blueformation"` //红方阵型列表
}
func (x *DBPvpBattle) Reset() {
*x = DBPvpBattle{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBPvpBattle) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBPvpBattle) ProtoMessage() {}
func (x *DBPvpBattle) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBPvpBattle.ProtoReflect.Descriptor instead.
func (*DBPvpBattle) Descriptor() ([]byte, []int) {
return file_pvp_pvp_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBPvpBattle) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBPvpBattle) GetPtype() PvpType {
if x != nil {
return x.Ptype
}
return PvpType_friends
}
func (x *DBPvpBattle) GetState() PvpState {
if x != nil {
return x.State
}
return PvpState_void
}
func (x *DBPvpBattle) GetRed() *PvpUserInfo {
if x != nil {
return x.Red
}
return nil
}
func (x *DBPvpBattle) GetRedformation() *BattleFormation {
if x != nil {
return x.Redformation
}
return nil
}
func (x *DBPvpBattle) GetBlue() *PvpUserInfo {
if x != nil {
return x.Blue
}
return nil
}
func (x *DBPvpBattle) GetBlueformation() *BattleFormation {
if x != nil {
return x.Blueformation
}
return nil
}
var File_pvp_pvp_db_proto protoreflect.FileDescriptor
var file_pvp_pvp_db_proto_rawDesc = []byte{
0x0a, 0x10, 0x70, 0x76, 0x70, 0x2f, 0x70, 0x76, 0x70, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x0b, 0x50,
0x76, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x8e, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x50,
0x76, 0x70, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x08, 0x2e, 0x50, 0x76, 0x70, 0x54, 0x79, 0x70,
0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x76, 0x70, 0x53, 0x74, 0x61,
0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x03, 0x72, 0x65, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x76, 0x70, 0x55, 0x73, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x0c, 0x72, 0x65, 0x64,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x20, 0x0a, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x50, 0x76, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x62, 0x6c, 0x75,
0x65, 0x12, 0x36, 0x0a, 0x0d, 0x62, 0x6c, 0x75, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x62, 0x6c, 0x75, 0x65,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x16, 0x0a, 0x07, 0x50, 0x76, 0x70,
0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x10,
0x00, 0x2a, 0x43, 0x0a, 0x08, 0x50, 0x76, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a,
0x04, 0x76, 0x6f, 0x69, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79,
0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x10, 0x02, 0x12, 0x0a,
0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x66, 0x69,
0x6e, 0x69, 0x73, 0x68, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_pvp_pvp_db_proto_rawDescOnce sync.Once
file_pvp_pvp_db_proto_rawDescData = file_pvp_pvp_db_proto_rawDesc
)
func file_pvp_pvp_db_proto_rawDescGZIP() []byte {
file_pvp_pvp_db_proto_rawDescOnce.Do(func() {
file_pvp_pvp_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_pvp_pvp_db_proto_rawDescData)
})
return file_pvp_pvp_db_proto_rawDescData
}
var file_pvp_pvp_db_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_pvp_pvp_db_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_pvp_pvp_db_proto_goTypes = []interface{}{
(PvpType)(0), // 0: PvpType
(PvpState)(0), // 1: PvpState
(*PvpUserInfo)(nil), // 2: PvpUserInfo
(*DBPvpBattle)(nil), // 3: DBPvpBattle
(*BattleFormation)(nil), // 4: BattleFormation
}
var file_pvp_pvp_db_proto_depIdxs = []int32{
0, // 0: DBPvpBattle.ptype:type_name -> PvpType
1, // 1: DBPvpBattle.state:type_name -> PvpState
2, // 2: DBPvpBattle.red:type_name -> PvpUserInfo
4, // 3: DBPvpBattle.redformation:type_name -> BattleFormation
2, // 4: DBPvpBattle.blue:type_name -> PvpUserInfo
4, // 5: DBPvpBattle.blueformation:type_name -> BattleFormation
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
}
func init() { file_pvp_pvp_db_proto_init() }
func file_pvp_pvp_db_proto_init() {
if File_pvp_pvp_db_proto != nil {
return
}
file_battle_battle_msg_proto_init()
if !protoimpl.UnsafeEnabled {
file_pvp_pvp_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpUserInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBPvpBattle); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pvp_pvp_db_proto_rawDesc,
NumEnums: 2,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_pvp_pvp_db_proto_goTypes,
DependencyIndexes: file_pvp_pvp_db_proto_depIdxs,
EnumInfos: file_pvp_pvp_db_proto_enumTypes,
MessageInfos: file_pvp_pvp_db_proto_msgTypes,
}.Build()
File_pvp_pvp_db_proto = out.File
file_pvp_pvp_db_proto_rawDesc = nil
file_pvp_pvp_db_proto_goTypes = nil
file_pvp_pvp_db_proto_depIdxs = nil
}

721
pb/pvp_msg.pb.go Normal file
View File

@ -0,0 +1,721 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: pvp/pvp_msg.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//Pvp 战斗准备推送
type PvpReadyPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServicePath string `protobuf:"bytes,1,opt,name=servicePath,proto3" json:"servicePath"` //战斗区服地址
Battleid string `protobuf:"bytes,2,opt,name=battleid,proto3" json:"battleid"` //战斗id
Red *PvpUserInfo `protobuf:"bytes,3,opt,name=red,proto3" json:"red"` //红方用户信息
Blue *PvpUserInfo `protobuf:"bytes,4,opt,name=blue,proto3" json:"blue"` //蓝方用户信息
Countdown int32 `protobuf:"varint,5,opt,name=countdown,proto3" json:"countdown"` //布阵倒计时
}
func (x *PvpReadyPush) Reset() {
*x = PvpReadyPush{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpReadyPush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpReadyPush) ProtoMessage() {}
func (x *PvpReadyPush) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpReadyPush.ProtoReflect.Descriptor instead.
func (*PvpReadyPush) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{0}
}
func (x *PvpReadyPush) GetServicePath() string {
if x != nil {
return x.ServicePath
}
return ""
}
func (x *PvpReadyPush) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *PvpReadyPush) GetRed() *PvpUserInfo {
if x != nil {
return x.Red
}
return nil
}
func (x *PvpReadyPush) GetBlue() *PvpUserInfo {
if x != nil {
return x.Blue
}
return nil
}
func (x *PvpReadyPush) GetCountdown() int32 {
if x != nil {
return x.Countdown
}
return 0
}
//Pvp 战斗准备推送
type PvpCancelPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServicePath string `protobuf:"bytes,1,opt,name=servicePath,proto3" json:"servicePath"` //战斗区服地址
Battleid string `protobuf:"bytes,2,opt,name=battleid,proto3" json:"battleid"` //战斗id
}
func (x *PvpCancelPush) Reset() {
*x = PvpCancelPush{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpCancelPush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpCancelPush) ProtoMessage() {}
func (x *PvpCancelPush) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpCancelPush.ProtoReflect.Descriptor instead.
func (*PvpCancelPush) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{1}
}
func (x *PvpCancelPush) GetServicePath() string {
if x != nil {
return x.ServicePath
}
return ""
}
func (x *PvpCancelPush) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
//布阵 请求
type PvpFormationReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"` //战斗id
Formation *BattleFormation `protobuf:"bytes,2,opt,name=formation,proto3" json:"formation"` //阵型
}
func (x *PvpFormationReq) Reset() {
*x = PvpFormationReq{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpFormationReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpFormationReq) ProtoMessage() {}
func (x *PvpFormationReq) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpFormationReq.ProtoReflect.Descriptor instead.
func (*PvpFormationReq) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{2}
}
func (x *PvpFormationReq) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *PvpFormationReq) GetFormation() *BattleFormation {
if x != nil {
return x.Formation
}
return nil
}
//布阵 请求 回应
type PvpFormationResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"`
}
func (x *PvpFormationResp) Reset() {
*x = PvpFormationResp{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpFormationResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpFormationResp) ProtoMessage() {}
func (x *PvpFormationResp) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpFormationResp.ProtoReflect.Descriptor instead.
func (*PvpFormationResp) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{3}
}
func (x *PvpFormationResp) GetIssucc() bool {
if x != nil {
return x.Issucc
}
return false
}
//战斗开始推送
type PvpStartPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Code ErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=ErrorCode" json:"code"` //是否成功
Info *BattleInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info"`
}
func (x *PvpStartPush) Reset() {
*x = PvpStartPush{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpStartPush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpStartPush) ProtoMessage() {}
func (x *PvpStartPush) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpStartPush.ProtoReflect.Descriptor instead.
func (*PvpStartPush) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{4}
}
func (x *PvpStartPush) GetCode() ErrorCode {
if x != nil {
return x.Code
}
return ErrorCode_Success
}
func (x *PvpStartPush) GetInfo() *BattleInfo {
if x != nil {
return x.Info
}
return nil
}
//实时Pvp 指令推送
type PvpOutCmdPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"`
Cmd []*BattleCmd `protobuf:"bytes,2,rep,name=cmd,proto3" json:"cmd"`
}
func (x *PvpOutCmdPush) Reset() {
*x = PvpOutCmdPush{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpOutCmdPush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpOutCmdPush) ProtoMessage() {}
func (x *PvpOutCmdPush) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpOutCmdPush.ProtoReflect.Descriptor instead.
func (*PvpOutCmdPush) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{5}
}
func (x *PvpOutCmdPush) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *PvpOutCmdPush) GetCmd() []*BattleCmd {
if x != nil {
return x.Cmd
}
return nil
}
//pvp 输入指令请求
type PvpInCmdReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"`
Cmd *BattleCmd `protobuf:"bytes,2,opt,name=cmd,proto3" json:"cmd"`
}
func (x *PvpInCmdReq) Reset() {
*x = PvpInCmdReq{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpInCmdReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpInCmdReq) ProtoMessage() {}
func (x *PvpInCmdReq) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpInCmdReq.ProtoReflect.Descriptor instead.
func (*PvpInCmdReq) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{6}
}
func (x *PvpInCmdReq) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *PvpInCmdReq) GetCmd() *BattleCmd {
if x != nil {
return x.Cmd
}
return nil
}
//pvp 输入指令请求 回应
type PvpInCmdResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Code ErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=ErrorCode" json:"code"` //是否成功
Battleid string `protobuf:"bytes,2,opt,name=battleid,proto3" json:"battleid"`
Cmd *BattleCmd `protobuf:"bytes,3,opt,name=cmd,proto3" json:"cmd"`
}
func (x *PvpInCmdResp) Reset() {
*x = PvpInCmdResp{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpInCmdResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpInCmdResp) ProtoMessage() {}
func (x *PvpInCmdResp) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpInCmdResp.ProtoReflect.Descriptor instead.
func (*PvpInCmdResp) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{7}
}
func (x *PvpInCmdResp) GetCode() ErrorCode {
if x != nil {
return x.Code
}
return ErrorCode_Success
}
func (x *PvpInCmdResp) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *PvpInCmdResp) GetCmd() *BattleCmd {
if x != nil {
return x.Cmd
}
return nil
}
var File_pvp_pvp_msg_proto protoreflect.FileDescriptor
var file_pvp_pvp_msg_proto_rawDesc = []byte{
0x0a, 0x11, 0x70, 0x76, 0x70, 0x2f, 0x70, 0x76, 0x70, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x70, 0x76, 0x70, 0x2f, 0x70, 0x76, 0x70, 0x5f, 0x64, 0x62, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0xac, 0x01, 0x0a, 0x0c, 0x50, 0x76, 0x70, 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x75, 0x73, 0x68,
0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61,
0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1e,
0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x76,
0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x20,
0x0a, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50,
0x76, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x4d,
0x0a, 0x0d, 0x50, 0x76, 0x70, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x75, 0x73, 0x68, 0x12,
0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74,
0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, 0x5d, 0x0a,
0x0f, 0x50, 0x76, 0x70, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x09,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10,
0x50, 0x76, 0x70, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x4f, 0x0a, 0x0c, 0x50, 0x76, 0x70, 0x53,
0x74, 0x61, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f,
0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x49, 0x0a, 0x0d, 0x50, 0x76, 0x70,
0x4f, 0x75, 0x74, 0x43, 0x6d, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52,
0x03, 0x63, 0x6d, 0x64, 0x22, 0x47, 0x0a, 0x0b, 0x50, 0x76, 0x70, 0x49, 0x6e, 0x43, 0x6d, 0x64,
0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12,
0x1c, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0x68, 0x0a,
0x0c, 0x50, 0x76, 0x70, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72,
0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x03, 0x63, 0x6d, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43,
0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_pvp_pvp_msg_proto_rawDescOnce sync.Once
file_pvp_pvp_msg_proto_rawDescData = file_pvp_pvp_msg_proto_rawDesc
)
func file_pvp_pvp_msg_proto_rawDescGZIP() []byte {
file_pvp_pvp_msg_proto_rawDescOnce.Do(func() {
file_pvp_pvp_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_pvp_pvp_msg_proto_rawDescData)
})
return file_pvp_pvp_msg_proto_rawDescData
}
var file_pvp_pvp_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_pvp_pvp_msg_proto_goTypes = []interface{}{
(*PvpReadyPush)(nil), // 0: PvpReadyPush
(*PvpCancelPush)(nil), // 1: PvpCancelPush
(*PvpFormationReq)(nil), // 2: PvpFormationReq
(*PvpFormationResp)(nil), // 3: PvpFormationResp
(*PvpStartPush)(nil), // 4: PvpStartPush
(*PvpOutCmdPush)(nil), // 5: PvpOutCmdPush
(*PvpInCmdReq)(nil), // 6: PvpInCmdReq
(*PvpInCmdResp)(nil), // 7: PvpInCmdResp
(*PvpUserInfo)(nil), // 8: PvpUserInfo
(*BattleFormation)(nil), // 9: BattleFormation
(ErrorCode)(0), // 10: ErrorCode
(*BattleInfo)(nil), // 11: BattleInfo
(*BattleCmd)(nil), // 12: BattleCmd
}
var file_pvp_pvp_msg_proto_depIdxs = []int32{
8, // 0: PvpReadyPush.red:type_name -> PvpUserInfo
8, // 1: PvpReadyPush.blue:type_name -> PvpUserInfo
9, // 2: PvpFormationReq.formation:type_name -> BattleFormation
10, // 3: PvpStartPush.code:type_name -> ErrorCode
11, // 4: PvpStartPush.info:type_name -> BattleInfo
12, // 5: PvpOutCmdPush.cmd:type_name -> BattleCmd
12, // 6: PvpInCmdReq.cmd:type_name -> BattleCmd
10, // 7: PvpInCmdResp.code:type_name -> ErrorCode
12, // 8: PvpInCmdResp.cmd:type_name -> BattleCmd
9, // [9:9] is the sub-list for method output_type
9, // [9:9] is the sub-list for method input_type
9, // [9:9] is the sub-list for extension type_name
9, // [9:9] is the sub-list for extension extendee
0, // [0:9] is the sub-list for field type_name
}
func init() { file_pvp_pvp_msg_proto_init() }
func file_pvp_pvp_msg_proto_init() {
if File_pvp_pvp_msg_proto != nil {
return
}
file_pvp_pvp_db_proto_init()
file_battle_battle_msg_proto_init()
file_errorcode_proto_init()
if !protoimpl.UnsafeEnabled {
file_pvp_pvp_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpReadyPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpCancelPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpFormationReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpFormationResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpStartPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpOutCmdPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpInCmdReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpInCmdResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pvp_pvp_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 8,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_pvp_pvp_msg_proto_goTypes,
DependencyIndexes: file_pvp_pvp_msg_proto_depIdxs,
MessageInfos: file_pvp_pvp_msg_proto_msgTypes,
}.Build()
File_pvp_pvp_msg_proto = out.File
file_pvp_pvp_msg_proto_rawDesc = nil
file_pvp_pvp_msg_proto_goTypes = nil
file_pvp_pvp_msg_proto_depIdxs = nil
}

View File

@ -30,6 +30,7 @@ import (
"go_dreamfactory/modules/pagoda"
"go_dreamfactory/modules/pay"
"go_dreamfactory/modules/privilege"
"go_dreamfactory/modules/pvp"
"go_dreamfactory/modules/reddot"
"go_dreamfactory/modules/rtask"
"go_dreamfactory/modules/shop"
@ -110,6 +111,7 @@ func main() {
combat.NewModule(),
enchant.NewModule(),
mline.NewModule(),
pvp.NewModule(),
)
}
@ -133,8 +135,8 @@ func (this *Service) InitSys() {
} else {
log.Infof("init sys.wordfilter success!")
}
//定时系统
if err := timewheel.OnInit(nil, timewheel.SetTick(time.Minute)); err != nil {
//定时系统 秒级时间轮
if err := timewheel.OnInit(nil, timewheel.SetTick(time.Second)); err != nil {
panic(fmt.Sprintf("init sys.timewheel err: %s", err.Error()))
} else {
log.Infof("init sys.timewheel success!")