You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Message2Clients.proto 4.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. // Message2Client
  2. syntax = "proto3";
  3. package protobuf;
  4. import "MessageType.proto";
  5. message MessageOfStudent
  6. {
  7. int32 x = 1;
  8. int32 y = 2;
  9. int32 speed = 3;
  10. int32 determination = 4; // 剩余的学习毅力,相当于血量
  11. //int32 fail_num = 5; // 挂科的科目数
  12. repeated double time_until_skill_available = 6;
  13. PlaceType place = 7;
  14. repeated PropType prop = 8;
  15. PlayerState player_state = 9;
  16. int64 guid = 10;
  17. PlayerState state = 11;
  18. double fail_time = 12; // 挂科的时间
  19. double emo_time = 14; // EMO的时间
  20. int64 player_id = 15;
  21. int32 view_range = 16; // 视野距离
  22. int32 radius = 17; // 半径
  23. int32 damage = 18;
  24. double danger_alert = 19; // 危险警报,在捣蛋鬼靠近时会有预警
  25. int32 score = 20;
  26. int32 treat_progress = 21; // 治疗进度
  27. int32 rescue_progress = 22; // 救援进度
  28. StudentType student_type = 23;
  29. repeated StudentBuffType buff = 24;
  30. }
  31. message MessageOfTricker
  32. {
  33. int32 x = 1;
  34. int32 y = 2;
  35. int32 speed = 3;
  36. int32 damage = 4; // 对学生造成的心理伤害
  37. double time_until_skill_available = 5;
  38. PlaceType place = 6;
  39. repeated PropType prop = 7;
  40. TrickerType tricker_type = 8;
  41. int64 guid = 9;
  42. bool movable = 10; // 是否进入了攻击后摇
  43. int64 player_id = 11;
  44. int32 view_range = 12; // 视野距离
  45. int32 radius = 13; // 半径
  46. PlayerState player_state = 14;
  47. double trick_desire = 15;
  48. double class_volume = 16;
  49. repeated TrickerBuffType buff = 17;
  50. }
  51. message MessageOfBullet
  52. {
  53. BulletType type = 1;
  54. int32 x = 2;
  55. int32 y = 3;
  56. double facing_direction = 4;
  57. int64 guid = 5;
  58. PlayerType team = 6;
  59. PlaceType place = 7;
  60. double bomb_range = 8;
  61. }
  62. message MessageOfBombedBullet //for Unity,直接继承自THUAI5
  63. {
  64. BulletType type = 1;
  65. int32 x = 2;
  66. int32 y = 3;
  67. double facing_direction = 4;
  68. int64 mapping_id = 5;
  69. double bomb_range = 6;
  70. }
  71. message MessageOfProp // 可拾取道具的信息
  72. {
  73. PropType type = 1;
  74. int32 x = 2;
  75. int32 y = 3;
  76. double facing_direction = 4;
  77. int64 guid = 5;
  78. PlaceType place = 6;
  79. int32 size = 7;
  80. bool is_moving = 8;
  81. }
  82. message MessageOfPickedProp //for Unity,直接继承自THUAI5
  83. {
  84. PropType type = 1;
  85. int32 x = 2;
  86. int32 y = 3;
  87. double facing_direction = 4;
  88. int64 mapping_id = 5;
  89. }
  90. message MessageOfClassroom
  91. {
  92. int32 x = 1;
  93. int32 y = 2;
  94. int32 progress = 3;
  95. }
  96. message MessageOfGate
  97. {
  98. int32 x = 1;
  99. int32 y = 2;
  100. int32 progress = 3;
  101. }
  102. message MessageOfDoor
  103. {
  104. int32 x = 1;
  105. int32 y = 2;
  106. bool is_open = 3;
  107. }
  108. message MessageOfChest
  109. {
  110. int32 x = 1;
  111. int32 y = 2;
  112. int32 progress = 3;
  113. }
  114. message MessageOfMap
  115. {
  116. message Row
  117. {
  118. repeated PlaceType col = 1;
  119. }
  120. repeated Row row = 2;
  121. }
  122. message MessageOfObj
  123. {
  124. oneof message_of_obj
  125. {
  126. MessageOfStudent student_message = 1;
  127. MessageOfTricker tricker_message = 2;
  128. MessageOfProp prop_message = 3;
  129. MessageOfBullet bullet_message = 4;
  130. MessageOfBombedBullet bombed_bullet_message = 5;
  131. MessageOfClassroom classroom_message = 6;
  132. MessageOfDoor door_message = 7;
  133. MessageOfGate gate_message = 8;
  134. MessageOfChest chest_message = 9;
  135. }
  136. }
  137. message MessageOfAll
  138. {
  139. int32 game_time = 1;
  140. int32 subject_left = 2; // 剩余的科目数
  141. int32 student_graduated = 3; // 已经毕业的学生数
  142. int32 student_quited = 4; // 已经退学的学生数
  143. int32 student_score = 5;
  144. int32 tricker_score = 6;
  145. bool gate_opened = 7;
  146. bool hidden_gate_refreshed = 8;
  147. bool hidden_gate_opened = 9;
  148. }
  149. message MessageToClient
  150. {
  151. repeated MessageOfObj obj_message = 1;
  152. GameState game_state = 2;
  153. MessageOfAll all_message = 3;
  154. }
  155. message MoveRes // 如果打算设计撞墙保留平行速度分量,且需要返回值则可用这个(大概没啥用)
  156. {
  157. int64 actual_speed = 1;
  158. double actual_angle = 2;
  159. bool act_success = 3;
  160. }
  161. message BoolRes // 用于只需要判断执行操作是否成功的行为,如捡起道具、使用道具
  162. {
  163. bool act_success = 1;
  164. }
  165. message MsgRes // 用于获取队友发来的消息
  166. {
  167. bool have_message = 1; // 是否有待接收的消息
  168. int64 from_player_id = 2;
  169. string message_received = 3;
  170. }