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; // 头像 string platform = 4; // 平台 bool fansMedalWearingStatus = 5; // 牌子佩戴状态 string fansMedalName = 6; // 粉丝牌子名 int64 fansMedalLevel = 7; // 粉丝牌子等级 } // 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; // 所有奖池 //}