hero.proto 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. // message结构的属性名请使用 驼峰小写字母开始
  2. syntax = "proto3";
  3. option go_package = "/pb";
  4. package pb;
  5. import "base_type.proto";
  6. // 英雄列表
  7. message HeroList {
  8. repeated Hero list = 1;
  9. }
  10. // 英雄
  11. message Hero {
  12. // 唯一 id
  13. int64 guid = 1;
  14. // 配置 id
  15. int32 heroID = 2;
  16. // 星级
  17. int32 star = 3;
  18. // 星级经验
  19. int32 starExp = 4;
  20. // 属性
  21. Attrs attrs = 5;
  22. // 技能 <key: 技能ID, value: 等级>
  23. map<int32, int32> skills = 6;
  24. // 装备唯一ID列表
  25. repeated int64 equipGUIDList = 7;
  26. }
  27. // [请求] 英雄升星
  28. message HeroStarRequest {
  29. // 英雄唯一 ID
  30. int64 heroGUID = 1;
  31. }
  32. // [响应] 英雄技能升级
  33. message HeroSkillResponse {
  34. // 英雄唯一ID
  35. int64 heroGUID = 1;
  36. // 英雄升级技能ID
  37. int32 heroSkillID = 2;
  38. // 英雄当前技能等级
  39. int32 heroSkillLevel = 3;
  40. }
  41. // 英雄装备
  42. message HeroEquip {
  43. // 英雄唯一ID
  44. int64 heroGUID = 1;
  45. // 装备唯一ID列表
  46. repeated int64 equipGUIDList = 2;
  47. }
  48. // 英雄状态列表推送
  49. message HeroStateResponse {
  50. // 英雄状态列表
  51. repeated HeroState heroState = 1;
  52. }
  53. // 英雄状态更新
  54. message HeroState {
  55. // 英雄唯一GUID
  56. int64 heroGUID = 1;
  57. // 英雄体力
  58. int32 energy = 2;
  59. // 英雄重伤结束时间戳 单位秒 0/时间已结束表示没有重伤
  60. int64 injuriesEndTime = 3;
  61. // 英雄疲惫状态结束时间戳 单位秒 0/时间已结束表示没有疲惫
  62. int64 fatigueEndTime = 4;
  63. }
  64. // 地图英雄列表
  65. message MapHeroList {
  66. repeated MapHero list = 1;
  67. }
  68. // 地图英雄数据
  69. message MapHero {
  70. // 唯一 ID
  71. int64 guid = 1;
  72. // 配置 ID
  73. int32 heroID = 2;
  74. // 体力
  75. int32 energy = 3;
  76. // 队伍位置
  77. int32 teamIndex = 4;
  78. // 重伤结束时间戳 单位秒 0/时间已结束表示没有重伤
  79. int64 injuriesEndTime = 5;
  80. // 英雄疲惫状态结束时间戳 单位秒 0/时间已结束表示没有疲惫
  81. int64 fatigueEndTime = 6;
  82. }