package com.ljsd.jieling.protocols; option optimize_for = SPEED; import "CommonProto.proto"; message AgentInfo { optional int32 playerUid = 1; optional int32 curHp = 2; optional int32 maxHp =3; optional int32 camp =4; //阵营 区分敌我 optional int32 curXY =5; //所在位置 repeated FoodBuffer foodBuffers = 6; // buff optional int32 reviveTime = 7; // 死亡复活剩余时间 repeated int32 dieList = 8; // 死亡计数(按顺序记录杀死自己的玩家uid) repeated int32 killList = 9; // 杀人计数(按顺序记录自己杀死的玩家uid) repeated int32 path = 10; // 路径图 } //因为多个人在一个房间中战斗,需要实现实时的处理方案 //匹配进入的房间 message RoomMatchRequest{ optional int32 type = 1; //type 匹配游戏类型 1血战 } //匹配应答 message RoomMatchResponse{ optional bool result = 1; //0 成功 optional int32 type = 2; //type 匹配游戏类型 1血战 } //取消匹配,必须等待服务器应答成功后,客户端才能退出匹配界面, //否则可能服务器端可能匹配成功,客户端退出了匹配模式 message RoomCancelMatchRequest{ optional int32 type = 1; //type 匹配游戏类型 1血战 } message RoomCancelMatchResponse{ optional bool result = 1; //true 取消成功,false 不能取消 optional int32 type = 2; //type 匹配游戏类型 1血战 } message RoomMatchSuccessIndication{ optional int32 roomId = 1; optional int32 type = 2; //type 匹配游戏类型 1血战 optional int32 mapId =3; // 地图信息 repeated Cell mapList = 4; // 其他人 repeated AgentInfo agentInfos = 5; //playerUid和自己一致的就是自己的信息 // 临时背包 optional Drop temporaryItems = 6; } //必须有准备过程防止因为机器性能原因导致,性能好的先进入游戏 message RoomStartGameReadyRequest{ optional int32 type = 1; //type 匹配游戏类型 1血战 } //开始游戏应答 message RoomStartGameReadyResponse{ optional int32 type = 1; //type 匹配游戏类型 1血战 } message RoomStartGameIndication{ optional int32 roomId = 1; optional int32 type = 2; //type 匹配游戏类型 1血战 } //获取全量信息 message RoomGetFullInfoResponse{ optional RoomMatchSuccessIndication roomMatchSuccessIndication =1; }