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.

123 lines
3.5 KiB
Protocol Buffer

syntax = "proto3";
package pb.common;
option go_package = "dcg/game/pb/common;pbCommon";
import "vars/vars.proto";
// PbUser 用户
message PbUser {
int64 userId = 1; // 用户id
string username = 2; // 用户名
string avatar = 3; // 头像
}
// 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; // 时间戳
}
//////////////////// 用户弹币
// UserCoinChangedMsg 用户弹币变更通知 push -> user.coin.change
message UserCoinChangedMsg {
PbUser user = 1;
pb.vars.UserCoinChangedReason reason = 2; // 变动原因
int64 change = 10; // 变动量
int64 current = 11; // 当前量
}
// ChangeUserCoinReq 更新用户弹币 request -> user.coin.change
message ChangeUserCoinReq {
int64 userId = 1; // 用户ID
int64 change = 2; // 更新量,负数为消耗,正数为增加
pb.vars.UserCoinChangedReason reason = 3; // 变更原因
}
// ChangeUserCoinResp 用户金币更新返回 response -> user.coin.change
message ChangeUserCoinResp {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 消息
int64 userId = 3; // 用户ID
int64 change = 4; // 变更量
}
// CheckInMsg 每日打卡 push -> user.checkIn
message CheckInMsg {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 消息 [打卡成功,快乐玩耍吧! | 今天已打过卡了!]
pb.common.PbUser user = 3;
int64 coinChange = 4; // 弹币变动
int64 currentCoin = 5; // 当前金币
bool isCritical = 10; // 是否欧皇附体
}
// GiftPackMsg 领取礼包消息 push -> user.giftPack 命令(新手礼包|福利|低保|其它礼包)
message GiftPackMsg {
int32 code = 1; // code, 200表示成功其余根据对照表
string msg = 2; // 领取消息: [成功无msg | 已经领过礼包了xxx ]
pb.common.PbUser user = 3;
int64 coin = 4; // 领取到的金币数
}
// UserBuyGoodsMsg 用户兑换商品消息 push -> user.buy
message UserBuyGoodsMsg {
// 500: 兑换精英单位时发生错误请联系UP主。
// 200: OK
int32 code = 1;
pb.common.PbUser user = 3;
pb.vars.Goods goods = 4; // 商品类型
int64 goodsId = 5; // 商品ID
int32 count = 6; // 数量 -1表示无限数量
int64 cost = 7; // 花费 0表示无花费
int32 duration = 8; // 持续时长(单位:小时) -1表示无限制
}
// TitleItem 称号
message TitleItem {
int64 id = 1; // ID
string name = 2; // 称号名
int32 sort = 3; // 排序号
int32 remain = 4; // 剩余时长(单位:小时)
}
// 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; // 所有奖池
//}