You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
4.0 KiB
Protocol Buffer

syntax = "proto3";
package pb.common;
option go_package = "dcg/game/pb/common;pbCommon";
// PbUser 用户
message PbUser {
int64 uId = 1; // 用户id
string uname = 2; // 用户名
string avatar = 3; // 头像
int32 nobilityLevel = 4; // 贵族等级
int64 integral = 5; // 用户当前积分
}
// GameStatusReq 游戏状态控制 game.status
message GameStatusReq {
int32 status = 1; // 1开始新战局 2结束战局
int64 timestamp = 2; // 时间戳
}
// GameStatusResp 游戏状态控制返回值
message GameStatusResp {
bool success = 1;
int64 battleId = 2; // 战局ID | 上一场战局ID(结束时)
int64 timestamp = 3; // 时间戳
}
///////////////// 用户积分
// UserIntegralChanged 用户积分变更 push -> user.integral.change
message UserIntegralChanged {
pb.common.PbUser user = 1;
int64 change = 2; // 变更量
int64 integral = 3; // 现有量
}
// ChangeUserIntegral 更新用户积分 request -> user.integral.change
message ChangeUserIntegralReq {
int64 userId = 1; // 用户ID
int64 change = 2; // 更新积分量,负数为消耗,正数为增加
}
// ChangeUserIntegralResp 用户积分更新返回
message ChangeUserIntegralResp {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 消息
int64 userId = 3; // 用户ID
int64 change = 4; // 本次更新积分量
int64 integral = 5; // 当前剩余积分
}
//////////////////// 用户金币
// UserIntegralChanged 用户金币变更通知 push -> user.coin.change
message UserCoinChangedMsg {
pb.common.PbUser user = 1;
int64 change = 2; // 变更量
int64 current = 3; // 现有量
}
// ChangeUserIntegral 更新用户金币 request -> user.coin.change
message ChangeUserCoinReq {
int64 userId = 1; // 用户ID
int64 change = 2; // 更新量,负数为消耗,正数为增加
}
// ChangeUserIntegralResp 用户金币更新返回
message ChangeUserCoinResp {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 消息
int64 userId = 3; // 用户ID
int64 change = 4; // 变更量
int64 current = 5; // 现有量
}
// CheckInMsg 每日打卡 push -> user.checkIn
message CheckInMsg {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 消息 [打卡成功,快乐玩耍吧! | 今天已打过卡了!]
pb.common.PbUser user = 3; // 最新积分放置在user中
int64 integralChange = 4; // 积分变动
bool isCritical = 5; // 是否欧皇附体
}
// GiftPackMsg 领取礼包消息 push -> user.giftPack 命令(新手礼包|福利|低保|其它礼包)
message GiftPackMsg {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 领取消息: [成功无msg | 已经领过礼包了xxx ]
pb.common.PbUser user = 3;
int64 integralChange = 4; // 积分变动
}
// QueryIntegralMsg 用户查询信息通知 push -> user.query
message UserQueryMsg {
// RankItem 排行数据结构
message RankItem {
int32 rankType = 1; // 排行榜类型 (与pbGameZhg.RankType一致)
int64 score = 2; // 具体分数
int32 rank = 3; // 具体排名,不上榜为0
}
pb.common.PbUser user = 1; // 用户信息
repeated RankItem rank = 2; // 排行数据(多个榜)
repeated int64 titleIds = 3; // 称号ID列表具体称号配置 给接口取
}
// DanmakuMsg 普通弹幕消息 push -> live.danmaku
message DanmakuMsg {
pb.common.PbUser user = 1;
string content = 2;
}
// 赠送礼物 push -> live.gift.common | live.gift.nobility
message GiftMsg{
pb.common.PbUser user = 1;
int64 giftId = 2;
int64 num = 3;
string giftName = 4;
int64 price = 5; // 单价
bool isPaid = 6; // 是否收费礼物
}
// 奖池变动消息 push -> game.rewardPool
message RewardPoolMsg {
int64 welfarePool = 1; // 福利池,与战局无关
int64 battleId = 2; // 战局ID
int64 initReward = 3; // 初始奖池
int64 giftReward = 4; // 礼物奖池
int64 battleReward = 5; // 战斗奖池
int64 otherReward = 6; // 其它奖池
int64 allRewards = 10; // 所有奖池
}