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

231 lines
5.0 KiB

5 years ago
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.Networking;
  5. namespace Multiplayer
  6. {
  7. public class PlayerMsgID
  8. {
  9. public const short Position = 200;
  10. public const short Rotation = 201;
  11. public const short Lobby = 202;
  12. public const short GameWin = 203;
  13. public const short GameOver = 204;
  14. public const short GameStart = 205;
  15. public const short QueryPosition = 206;
  16. public const short Vegetable = 207;
  17. }
  18. public class PlayerMsg : MessageBase
  19. {
  20. public byte ID;
  21. public PlayerMsg() { }
  22. public PlayerMsg(byte playerID)
  23. {
  24. this.ID = playerID;
  25. }
  26. public override void Serialize(NetworkWriter writer)
  27. {
  28. writer.Write(ID);
  29. }
  30. public override void Deserialize(NetworkReader reader)
  31. {
  32. ID = reader.ReadByte();
  33. }
  34. }
  35. public class VectorMsg : PlayerMsg
  36. {
  37. public Vector3 vector;
  38. public VectorMsg() { }
  39. public VectorMsg(byte PlayerID, Vector3 Vector) : base(PlayerID)
  40. {
  41. this.vector = Vector;
  42. }
  43. public override void Serialize(NetworkWriter writer)
  44. {
  45. base.Serialize(writer);
  46. writer.Write(vector);
  47. }
  48. public override void Deserialize(NetworkReader reader)
  49. {
  50. base.Deserialize(reader);
  51. vector = reader.ReadVector3();
  52. }
  53. }
  54. public class BoolMsg : PlayerMsg
  55. {
  56. public bool boolean;
  57. public BoolMsg() { }
  58. public BoolMsg(byte PlayerID, bool boolean) : base(PlayerID)
  59. {
  60. this.boolean = boolean;
  61. }
  62. public override void Serialize(NetworkWriter writer)
  63. {
  64. base.Serialize(writer);
  65. writer.Write(boolean);
  66. }
  67. public override void Deserialize(NetworkReader reader)
  68. {
  69. base.Deserialize(reader);
  70. boolean = reader.ReadBoolean();
  71. }
  72. }
  73. public class QuaternionMsg : PlayerMsg
  74. {
  75. public Quaternion quaternion;
  76. public QuaternionMsg() { }
  77. public QuaternionMsg(byte PlayerID, Quaternion quaternion) : base(PlayerID)
  78. {
  79. this.quaternion = quaternion;
  80. }
  81. public override void Serialize(NetworkWriter writer)
  82. {
  83. base.Serialize(writer);
  84. writer.Write(quaternion);
  85. }
  86. public override void Deserialize(NetworkReader reader)
  87. {
  88. base.Deserialize(reader);
  89. quaternion = reader.ReadQuaternion();
  90. }
  91. }
  92. public class longMsg : PlayerMsg
  93. {
  94. public long Long;
  95. public longMsg() { }
  96. public longMsg(byte PlayerID, long Long) : base(PlayerID)
  97. {
  98. this.Long = Long;
  99. }
  100. public override void Serialize(NetworkWriter writer)
  101. {
  102. base.Serialize(writer);
  103. writer.Write(Long);
  104. }
  105. public override void Deserialize(NetworkReader reader)
  106. {
  107. base.Deserialize(reader);
  108. Long = reader.ReadInt64();
  109. }
  110. }
  111. public class StringMsg : PlayerMsg
  112. {
  113. public string String;
  114. public StringMsg() { }
  115. public StringMsg(byte PlayerID, string String) : base(PlayerID)
  116. {
  117. this.String = String;
  118. }
  119. public override void Serialize(NetworkWriter writer)
  120. {
  121. base.Serialize(writer);
  122. writer.Write(String);
  123. }
  124. public override void Deserialize(NetworkReader reader)
  125. {
  126. base.Deserialize(reader);
  127. String = reader.ReadString();
  128. }
  129. }
  130. public class VegMsg : PlayerMsg
  131. {
  132. public string String;
  133. public int Int;
  134. public VegMsg() { }
  135. public VegMsg(byte PlayerID, string String, int Int) : base(PlayerID)
  136. {
  137. this.String = String;
  138. this.Int = Int;
  139. }
  140. public override void Serialize(NetworkWriter writer)
  141. {
  142. base.Serialize(writer);
  143. writer.Write(String);
  144. writer.Write(Int);
  145. }
  146. public override void Deserialize(NetworkReader reader)
  147. {
  148. base.Deserialize(reader);
  149. String = reader.ReadString();
  150. Int = reader.ReadInt32();
  151. }
  152. }
  153. public class PlayerDataMsg : PlayerMsg
  154. {
  155. public string Name;
  156. public Color Color;
  157. public PlayerDataMsg() { }
  158. public PlayerDataMsg(byte PlayerID, string Name, Color Color) : base(PlayerID)
  159. {
  160. this.Name = Name;
  161. this.Color = Color;
  162. }
  163. public override void Serialize(NetworkWriter writer)
  164. {
  165. base.Serialize(writer);
  166. writer.Write(Name);
  167. writer.Write(Color);
  168. }
  169. public override void Deserialize(NetworkReader reader)
  170. {
  171. base.Deserialize(reader);
  172. Name = reader.ReadString();
  173. Color = reader.ReadColor();
  174. }
  175. }
  176. }