// message结构的属性名请使用 驼峰小写字母开始 syntax = "proto3"; option go_package = "/pb"; package pb; import "base_type.proto"; // 英雄列表 message HeroList { repeated Hero list = 1; } // 英雄 message Hero { // 唯一 id int64 guid = 1; // 配置 id int32 heroID = 2; // 星级 int32 star = 3; // 星级经验 int32 starExp = 4; // 属性 Attrs attrs = 5; // 技能 map skills = 6; // 装备唯一ID列表 repeated int64 equipGUIDList = 7; } // [请求] 英雄升星 message HeroStarRequest { // 英雄唯一 ID int64 heroGUID = 1; } // [响应] 英雄技能升级 message HeroSkillResponse { // 英雄唯一ID int64 heroGUID = 1; // 英雄升级技能ID int32 heroSkillID = 2; // 英雄当前技能等级 int32 heroSkillLevel = 3; } // 英雄装备 message HeroEquip { // 英雄唯一ID int64 heroGUID = 1; // 装备唯一ID列表 repeated int64 equipGUIDList = 2; } // 英雄状态列表推送 message HeroStateResponse { // 英雄状态列表 repeated HeroState heroState = 1; } // 英雄状态更新 message HeroState { // 英雄唯一GUID int64 heroGUID = 1; // 英雄体力 int32 energy = 2; // 英雄重伤结束时间戳 单位秒 0/时间已结束表示没有重伤 int64 injuriesEndTime = 3; // 英雄疲惫状态结束时间戳 单位秒 0/时间已结束表示没有疲惫 int64 fatigueEndTime = 4; } // 地图英雄列表 message MapHeroList { repeated MapHero list = 1; } // 地图英雄数据 message MapHero { // 唯一 ID int64 guid = 1; // 配置 ID int32 heroID = 2; // 体力 int32 energy = 3; // 队伍位置 int32 teamIndex = 4; // 重伤结束时间戳 单位秒 0/时间已结束表示没有重伤 int64 injuriesEndTime = 5; // 英雄疲惫状态结束时间戳 单位秒 0/时间已结束表示没有疲惫 int64 fatigueEndTime = 6; }