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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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; // 所有奖池
//}