107 lines
3.2 KiB
Protocol Buffer
107 lines
3.2 KiB
Protocol Buffer
|
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 type =1;
|
|||
|
optional SceneInfo sceneInfo =2; // 场景信息
|
|||
|
}
|
|||
|
|
|||
|
//必须有准备过程防止因为机器性能原因导致,性能好的先进入游戏
|
|||
|
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;
|
|||
|
}
|
|||
|
//血战排行榜
|
|||
|
message BloodRankResponse{
|
|||
|
repeated BloodPersonInfo infos = 1;
|
|||
|
optional int32 myRank = 2;
|
|||
|
}
|
|||
|
|
|||
|
message RoomAddressIndication{
|
|||
|
optional string address = 1 ;// 房间地址信息
|
|||
|
optional int32 type = 2; //type 匹配游戏类型 1血战
|
|||
|
}
|
|||
|
|
|||
|
message RoomLoginResponse{
|
|||
|
optional RoomMatchSuccessIndication roomMatchSuccessIndication =1;
|
|||
|
}
|
|||
|
|
|||
|
message BloodyScoreItemInfo{
|
|||
|
optional int32 id =1;
|
|||
|
optional int32 status = 2; // 领取状态标识 0: 未领取 1:已领取但未领取花钱的奖励 2:已领取并且已领取花钱的奖励
|
|||
|
}
|
|||
|
|
|||
|
message GetBloodyScoreInfoResponse{
|
|||
|
optional int32 score = 1 ; // 积分
|
|||
|
optional int32 hadBuy = 2; // 是否已购
|
|||
|
repeated BloodyScoreItemInfo bloodyScoreItemInfo =3;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
message BloodyTakeScoreRewardRequet{
|
|||
|
optional int32 id = 1; // 奖励id -1代表点击一键领取
|
|||
|
}
|
|||
|
|
|||
|
message BloodyTakeScoreRewardResponse{
|
|||
|
optional Drop drop = 1;
|
|||
|
repeated BloodyScoreItemInfo changeItemInfo =2; // 状态变化的信息
|
|||
|
}
|
|||
|
|
|||
|
message BloodyScoreChangeIndication{
|
|||
|
optional int32 myscore = 1 ;// 血战积分
|
|||
|
}
|
|||
|
|
|||
|
|