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.

CopyInfo.cs 25 kB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  1. using Protobuf;
  2. using System.Collections.Generic;
  3. using GameClass.GameObj;
  4. namespace Server
  5. {
  6. public static class CopyInfo
  7. {
  8. // 下面赋值为0的大概率是还没写完 2023-03-03
  9. /*public static MessageOfObj? Auto(GameObj gameObj)
  10. {
  11. if (gameObj.Type == Preparation.Utility.GameObjType.Character)
  12. {
  13. Character character = (Character)gameObj;
  14. if (character.IsGhost())
  15. return Tri
  16. }
  17. else if (gameObj.Type == Preparation.Utility.GameObjType.Bullet)
  18. return Bullet((Bullet)gameObj);
  19. else if (gameObj.Type == Preparation.Utility.GameObjType.Prop)
  20. return Prop((Prop)gameObj);
  21. else if (gameObj.Type == Preparation.Utility.GameObjType.BombedBullet)
  22. return BombedBullet((BombedBullet)gameObj);
  23. else if (gameObj.Type == Preparation.Utility.GameObjType.PickedProp)
  24. return PickedProp((PickedProp)gameObj);
  25. else return null; //先写着防报错
  26. }*/
  27. private static MessageOfStudent? Student(Character player)
  28. {
  29. MessageOfStudent msg = new MessageOfStudent();
  30. if (player.IsGhost()) return null;
  31. msg.X = player.Position.x;
  32. msg.Y = player.Position.y;
  33. msg.Speed = player.MoveSpeed;
  34. msg.Determination = player.HP;
  35. msg.FailNum = 0;
  36. msg.TimeUntilSkillAvailable = 0;
  37. msg.StudentType = StudentType.NullStudentType; // 下面写
  38. msg.Guid = 0;
  39. msg.State = StudentState.NullStatus;
  40. msg.FailTime = 0;
  41. msg.EmoTime = 0;
  42. msg.PlayerId = 0;
  43. msg.ViewRange = 0;
  44. msg.Radius = 0;
  45. foreach (KeyValuePair<Preparation.Utility.BuffType, bool> kvp in player.Buff)
  46. {
  47. if (kvp.Value)
  48. {
  49. switch (kvp.Key) // StudentBuffType具体内容待定
  50. {
  51. case Preparation.Utility.BuffType.Spear:
  52. msg.Buff.Add(StudentBuffType.NullSbuffType);
  53. break;
  54. case Preparation.Utility.BuffType.AddLIFE:
  55. msg.Buff.Add(StudentBuffType.NullSbuffType);
  56. break;
  57. case Preparation.Utility.BuffType.Shield:
  58. msg.Buff.Add(StudentBuffType.NullSbuffType);
  59. break;
  60. case Preparation.Utility.BuffType.AddSpeed:
  61. msg.Buff.Add(StudentBuffType.NullSbuffType);
  62. break;
  63. default:
  64. break;
  65. }
  66. }
  67. }
  68. switch (player.Place)
  69. {
  70. case Preparation.Utility.PlaceType.EmergencyExit:
  71. msg.Place = PlaceType.HiddenGate;
  72. break;
  73. case Preparation.Utility.PlaceType.Doorway:
  74. msg.Place = PlaceType.Gate;
  75. break;
  76. case Preparation.Utility.PlaceType.Grass:
  77. msg.Place = PlaceType.Grass;
  78. break;
  79. case Preparation.Utility.PlaceType.BirthPoint1:
  80. case Preparation.Utility.PlaceType.BirthPoint2:
  81. case Preparation.Utility.PlaceType.BirthPoint3:
  82. case Preparation.Utility.PlaceType.BirthPoint4:
  83. case Preparation.Utility.PlaceType.BirthPoint5:
  84. case Preparation.Utility.PlaceType.Null:
  85. msg.Place = PlaceType.Land;
  86. break;
  87. // case Preparation.Utility.PlaceType.Invisible:
  88. // msg.MessageOfHuman.Place = Communication.Proto.PlaceType.Invisible;
  89. // break;
  90. default:
  91. msg.Place = PlaceType.NullPlaceType;
  92. break;
  93. }
  94. //Character的储存方式可能得改,用enum type存道具和子弹,不应该用对象
  95. //现在懒得改了,有时间再重整一波
  96. if (player.PropInventory == null)
  97. msg.Prop.Add(PropType.NullPropType);
  98. else
  99. {
  100. switch (player.PropInventory.GetPropType())
  101. {
  102. case Preparation.Utility.PropType.Gem:
  103. msg.Prop.Add(PropType.NullPropType);
  104. break;
  105. /*case Preparation.Utility.PropType.addLIFE:
  106. msg.MessageOfHuman.Prop = Communication.Proto.PropType.AddLife;
  107. break;
  108. case Preparation.Utility.PropType.addSpeed:
  109. msg.MessageOfHuman.Prop = Communication.Proto.PropType.AddSpeed;
  110. break;
  111. case Preparation.Utility.PropType.Shield:
  112. msg.MessageOfHuman.Prop = Communication.Proto.PropType.Shield;
  113. break;
  114. case Preparation.Utility.PropType.Spear:
  115. msg.MessageOfHuman.Prop = Communication.Proto.PropType.Spear;
  116. break;
  117. default:
  118. msg.Prop = PropType.NullPropType;
  119. break;*/
  120. }
  121. }
  122. /*switch (player.PassiveSkillType) 需要对接一下,proto里似乎没有这个
  123. {
  124. case Preparation.Utility.PassiveSkillType.RecoverAfterBattle:
  125. msg.MessageOfHuman.PassiveSkillType = Communication.Proto.PassiveSkillType.RecoverAfterBattle;
  126. break;
  127. case Preparation.Utility.PassiveSkillType.SpeedUpWhenLeavingGrass:
  128. msg.MessageOfHuman.PassiveSkillType = Communication.Proto.PassiveSkillType.SpeedUpWhenLeavingGrass;
  129. break;
  130. case Preparation.Utility.PassiveSkillType.Vampire:
  131. msg.MessageOfHuman.PassiveSkillType = Communication.Proto.PassiveSkillType.Vampire;
  132. break;
  133. default:
  134. msg.MessageOfHuman.PassiveSkillType = Communication.Proto.PassiveSkillType.NullPassiveSkillType;
  135. break;
  136. }
  137. switch (player.CommonSkillType)
  138. {
  139. case Preparation.Utility.ActiveSkillType.BecomeAssassin:
  140. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.BecomeAssassin;
  141. break;
  142. case Preparation.Utility.ActiveSkillType.BecomeVampire:
  143. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.BecomeVampire;
  144. break;
  145. case Preparation.Utility.ActiveSkillType.NuclearWeapon:
  146. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.NuclearWeapon;
  147. break;
  148. case Preparation.Utility.ActiveSkillType.SuperFast:
  149. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.SuperFast;
  150. break;
  151. default:
  152. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.NullActiveSkillType;
  153. break;
  154. }
  155. switch (player.BulletOfPlayer)
  156. {
  157. case Preparation.Utility.BulletType.AtomBomb:
  158. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.AtomBomb;
  159. break;
  160. case Preparation.Utility.BulletType.OrdinaryBullet:
  161. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.OrdinaryBullet;
  162. break;
  163. case Preparation.Utility.BulletType.FastBullet:
  164. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.FastBullet;
  165. break;
  166. case Preparation.Utility.BulletType.LineBullet:
  167. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.LineBullet;
  168. break;
  169. default:
  170. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.NullBulletType;
  171. break;
  172. }*/
  173. return msg;
  174. }
  175. private static MessageOfTricker? Butcher(Character player)
  176. {
  177. MessageOfTricker msg = new MessageOfTricker();
  178. if (!player.IsGhost()) return null;
  179. msg.X = player.Position.x;
  180. msg.Y = player.Position.y;
  181. msg.Speed = player.MoveSpeed;
  182. msg.Damage = 0;
  183. msg.TimeUntilSkillAvailable = 0;
  184. //msg.Place = 0; 下面写了
  185. //msg.Prop = PropType.NullPropType; // 下面写
  186. msg.TrickerType = TrickerType.NullTrickerType; // 下面写
  187. msg.Guid = 0;
  188. msg.Movable = false;
  189. msg.PlayerId = 0;
  190. msg.ViewRange = 0;
  191. msg.Radius = 0;
  192. //msg.Buff[0] = ButcherBuffType.NullSbuffType; 下面写了
  193. /* THUAI5中的内容
  194. msg.BulletNum = player.BulletNum;
  195. msg.CanMove = player.CanMove;
  196. msg.CD = player.CD;
  197. msg.GemNum = player.GemNum;
  198. msg.Guid = player.ID;
  199. msg.IsResetting = player.IsResetting;
  200. msg.LifeNum = player.DeathCount + 1;
  201. msg.Radius = player.Radius;
  202. msg.TimeUntilCommonSkillAvailable = player.TimeUntilCommonSkillAvailable;
  203. msg.TeamID = player.TeamID;
  204. msg.PlayerID = player.PlayerID;
  205. msg.IsInvisible = player.IsInvisible;
  206. msg.FacingDirection = player.FacingDirection;
  207. //应该要发队伍分数,这里先发个人分数
  208. msg.MessageOfHuman.Score = player.Score;
  209. //这条暂时没啥用
  210. msg.MessageOfHuman.TimeUntilUltimateSkillAvailable = 0;
  211. msg.MessageOfHuman.Vampire = player.Vampire;*/
  212. foreach (KeyValuePair<Preparation.Utility.BuffType, bool> kvp in player.Buff)
  213. {
  214. if (kvp.Value)
  215. {
  216. switch (kvp.Key) // ButcherBuffType具体内容待定
  217. {
  218. case Preparation.Utility.BuffType.Spear:
  219. msg.Buff.Add(TrickerBuffType.NullTbuffType);
  220. break;
  221. case Preparation.Utility.BuffType.AddLIFE:
  222. msg.Buff.Add(TrickerBuffType.NullTbuffType);
  223. break;
  224. case Preparation.Utility.BuffType.Shield:
  225. msg.Buff.Add(TrickerBuffType.NullTbuffType);
  226. break;
  227. case Preparation.Utility.BuffType.AddSpeed:
  228. msg.Buff.Add(TrickerBuffType.NullTbuffType);
  229. break;
  230. default:
  231. break;
  232. }
  233. }
  234. }
  235. /*switch (player.Place)
  236. {
  237. case Preparation.Utility.PlaceType.Land:
  238. msg.Place = PlaceType.Land;
  239. break;
  240. case Preparation.Utility.PlaceType.Grass1:
  241. msg.Place = PlaceType.Grass;
  242. break;
  243. case Preparation.Utility.PlaceType.Grass2:
  244. msg.Place = PlaceType.Grass;
  245. break;
  246. case Preparation.Utility.PlaceType.Grass3:
  247. msg.Place = PlaceType.Grass;
  248. break;
  249. // case Preparation.Utility.PlaceType.Invisible:
  250. // msg.MessageOfHuman.Place = Communication.Proto.PlaceType.Invisible;
  251. // break;
  252. default:
  253. msg.Place = PlaceType.NullPlaceType;
  254. break;
  255. }*/
  256. //Character的储存方式可能得改,用enum type存道具和子弹,不应该用对象
  257. //现在懒得改了,有时间再重整一波
  258. /*if (player.PropInventory == null)
  259. msg.Prop = PropType.NullPropType;
  260. else
  261. {
  262. switch (player.PropInventory.GetPropType())
  263. {
  264. case Preparation.Utility.PropType.Gem:
  265. msg.Prop = PropType.NullPropType;
  266. break;
  267. case Preparation.Utility.PropType.addLIFE:
  268. msg.MessageOfHuman.Prop = Communication.Proto.PropType.AddLife;
  269. break;
  270. case Preparation.Utility.PropType.addSpeed:
  271. msg.MessageOfHuman.Prop = Communication.Proto.PropType.AddSpeed;
  272. break;
  273. case Preparation.Utility.PropType.Shield:
  274. msg.MessageOfHuman.Prop = Communication.Proto.PropType.Shield;
  275. break;
  276. case Preparation.Utility.PropType.Spear:
  277. msg.MessageOfHuman.Prop = Communication.Proto.PropType.Spear;
  278. break;
  279. default:
  280. msg.Prop = PropType.NullPropType;
  281. break;
  282. }
  283. }*/
  284. /*switch (player.PassiveSkillType) 需要对接一下,proto里似乎没有这个
  285. {
  286. case Preparation.Utility.PassiveSkillType.RecoverAfterBattle:
  287. msg.MessageOfHuman.PassiveSkillType = Communication.Proto.PassiveSkillType.RecoverAfterBattle;
  288. break;
  289. case Preparation.Utility.PassiveSkillType.SpeedUpWhenLeavingGrass:
  290. msg.MessageOfHuman.PassiveSkillType = Communication.Proto.PassiveSkillType.SpeedUpWhenLeavingGrass;
  291. break;
  292. case Preparation.Utility.PassiveSkillType.Vampire:
  293. msg.MessageOfHuman.PassiveSkillType = Communication.Proto.PassiveSkillType.Vampire;
  294. break;
  295. default:
  296. msg.MessageOfHuman.PassiveSkillType = Communication.Proto.PassiveSkillType.NullPassiveSkillType;
  297. break;
  298. }
  299. switch (player.CommonSkillType)
  300. {
  301. case Preparation.Utility.ActiveSkillType.BecomeAssassin:
  302. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.BecomeAssassin;
  303. break;
  304. case Preparation.Utility.ActiveSkillType.BecomeVampire:
  305. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.BecomeVampire;
  306. break;
  307. case Preparation.Utility.ActiveSkillType.NuclearWeapon:
  308. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.NuclearWeapon;
  309. break;
  310. case Preparation.Utility.ActiveSkillType.SuperFast:
  311. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.SuperFast;
  312. break;
  313. default:
  314. msg.MessageOfHuman.ActiveSkillType = Communication.Proto.ActiveSkillType.NullActiveSkillType;
  315. break;
  316. }
  317. switch (player.BulletOfPlayer)
  318. {
  319. case Preparation.Utility.BulletType.AtomBomb:
  320. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.AtomBomb;
  321. break;
  322. case Preparation.Utility.BulletType.OrdinaryBullet:
  323. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.OrdinaryBullet;
  324. break;
  325. case Preparation.Utility.BulletType.FastBullet:
  326. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.FastBullet;
  327. break;
  328. case Preparation.Utility.BulletType.LineBullet:
  329. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.LineBullet;
  330. break;
  331. default:
  332. msg.MessageOfHuman.BulletType = Communication.Proto.BulletType.NullBulletType;
  333. break;
  334. }*/
  335. return msg;
  336. }
  337. /*private static MessageToClient.Types.GameObjMessage Bullet(Bullet bullet)
  338. {
  339. MessageToClient.Types.GameObjMessage msg = new MessageToClient.Types.GameObjMessage();
  340. msg.MessageOfBullet = new MessageOfBullet();
  341. msg.MessageOfBullet.FacingDirection = bullet.FacingDirection;
  342. msg.MessageOfBullet.Guid = bullet.ID;
  343. msg.MessageOfBullet.BombRange = BulletFactory.BulletBombRange(bullet.TypeOfBullet);
  344. switch (bullet.TypeOfBullet)
  345. {
  346. case Preparation.Utility.BulletType.AtomBomb:
  347. msg.MessageOfBullet.Type = Communication.Proto.BulletType.AtomBomb;
  348. break;
  349. case Preparation.Utility.BulletType.OrdinaryBullet:
  350. msg.MessageOfBullet.Type = Communication.Proto.BulletType.OrdinaryBullet;
  351. break;
  352. case Preparation.Utility.BulletType.FastBullet:
  353. msg.MessageOfBullet.Type = Communication.Proto.BulletType.FastBullet;
  354. break;
  355. case Preparation.Utility.BulletType.LineBullet:
  356. msg.MessageOfBullet.Type = Communication.Proto.BulletType.LineBullet;
  357. break;
  358. default:
  359. msg.MessageOfBullet.Type = Communication.Proto.BulletType.NullBulletType;
  360. break;
  361. }
  362. msg.MessageOfBullet.X = bullet.Position.x;
  363. msg.MessageOfBullet.Y = bullet.Position.y;
  364. if (bullet.Parent != null)
  365. msg.MessageOfBullet.ParentTeamID = bullet.Parent.TeamID;
  366. switch (bullet.Place)
  367. {
  368. case Preparation.Utility.PlaceType.Null:
  369. msg.MessageOfBullet.Place = Communication.Proto.PlaceType.Null;
  370. break;
  371. case Preparation.Utility.PlaceType.Grass:
  372. msg.MessageOfBullet.Place = Communication.Proto.PlaceType.Grass;
  373. break;
  374. case Preparation.Utility.PlaceType.Grass:
  375. msg.MessageOfBullet.Place = Communication.Proto.PlaceType.Grass;
  376. break;
  377. case Preparation.Utility.PlaceType.Grass:
  378. msg.MessageOfBullet.Place = Communication.Proto.PlaceType.Grass;
  379. break;
  380. default:
  381. msg.MessageOfBullet.Place = Communication.Proto.PlacccceType.NullPlaceType;
  382. break;
  383. }
  384. return msg;
  385. }*/
  386. private static MessageOfProp Prop(Prop prop)
  387. {
  388. MessageOfProp msg = new MessageOfProp();
  389. //msg.Type = PropType.NullPropType; 下面写
  390. msg.X = prop.Position.x;
  391. msg.Y = prop.Position.y;
  392. msg.FacingDirection = 0;
  393. msg.Guid = 0;
  394. msg.Place = PlaceType.NullPlaceType;
  395. msg.Size = 0;
  396. msg.IsMoving = false;
  397. /* THUAI5中的内容
  398. msg.MessageOfProp.FacingDirection = prop.FacingDirection;
  399. msg.MessageOfProp.Guid = prop.ID;
  400. msg.MessageOfProp.IsMoving = prop.IsMoving;*/
  401. switch (prop.GetPropType())
  402. {
  403. /*case Preparation.Utility.PropType.Gem:
  404. msg.Type = PropType.Gem;
  405. break;
  406. case Preparation.Utility.PropType.addLIFE:
  407. msg.Type = PropType.AddLife;
  408. break;
  409. case Preparation.Utility.PropType.addSpeed:
  410. msg.Type = PropType.AddSpeed;
  411. break;
  412. case Preparation.Utility.PropType.Shield:
  413. msg.Type = PropType.Shield;
  414. break;
  415. case Preparation.Utility.PropType.Spear:
  416. msg.Type = PropType.Spear;
  417. break;*/
  418. default:
  419. msg.Type = PropType.NullPropType;
  420. break;
  421. }
  422. /*if(prop is Gem)
  423. {
  424. msg.MessageOfProp.Size = ((Gem)prop).Size;
  425. }
  426. else
  427. {
  428. msg.MessageOfProp.Size = 1;
  429. }
  430. switch (prop.Place)
  431. {
  432. case Preparation.Utility.PlaceType.Null:
  433. msg.MessageOfProp.Place = Communication.Proto.PlaceType.Null;
  434. break;
  435. case Preparation.Utility.PlaceType.Grass:
  436. msg.MessageOfProp.Place = Communication.Proto.PlaceType.Grass;
  437. break;
  438. case Preparation.Utility.PlaceType.Grass:
  439. msg.MessageOfProp.Place = Communication.Proto.PlaceType.Grass;
  440. break;
  441. case Preparation.Utility.PlaceType.Grass:
  442. msg.MessageOfProp.Place = Communication.Proto.PlaceType.Grass;
  443. break;
  444. default:
  445. msg.MessageOfProp.Place = Communication.Proto.PlacccceType.NullPlaceType;
  446. break;
  447. }*/
  448. return msg;
  449. }
  450. /*private static MessageOfBombedBullet BombedBullet(BombedBullet bombedBullet)
  451. {
  452. MessageOfBombedBullet msg = new MessageOfBombedBullet;
  453. msg.FacingDirection = bombedBullet.FacingDirection;
  454. msg.X = bombedBullet.bulletHasBombed.Position.x;
  455. msg.Y = bombedBullet.bulletHasBombed.Position.y;
  456. msg.MappingID = bombedBullet.MappingID;
  457. msg.BombRange = BulletFactory.BulletBombRange(bombedBullet.bulletHasBombed.TypeOfBullet);
  458. switch (bombedBullet.bulletHasBombed.TypeOfBullet)
  459. {
  460. case Preparation.Utility.BulletType.OrdinaryBullet:
  461. msg.MessageOfBombedBullet.Type = Communication.Proto.BulletType.OrdinaryBullet;
  462. break;
  463. case Preparation.Utility.BulletType.AtomBomb:
  464. msg.MessageOfBombedBullet.Type = Communication.Proto.BulletType.AtomBomb;
  465. break;
  466. case Preparation.Utility.BulletType.FastBullet:
  467. msg.MessageOfBombedBullet.Type = Communication.Proto.BulletType.FastBullet;
  468. break;
  469. case Preparation.Utility.BulletType.LineBullet:
  470. msg.MessageOfBombedBullet.Type = Communication.Proto.BulletType.LineBullet;
  471. break;
  472. default:
  473. msg.MessageOfBombedBullet.Type = Communication.Proto.BulletType.NullBulletType;
  474. break;
  475. }
  476. return msg;
  477. }*/
  478. /*private static MessageToClient.Types.GameObjMessage PickedProp(PickedProp pickedProp)
  479. {
  480. MessageToClient.Types.GameObjMessage msg = new MessageToClient.Types.GameObjMessage();
  481. msg.MessageOfPickedProp = new MessageOfPickedProp();
  482. msg.MessageOfPickedProp.MappingID = pickedProp.MappingID;
  483. msg.MessageOfPickedProp.X = pickedProp.PropHasPicked.Position.x;
  484. msg.MessageOfPickedProp.Y = pickedProp.PropHasPicked.Position.y;
  485. msg.MessageOfPickedProp.FacingDirection = pickedProp.PropHasPicked.FacingDirection;
  486. switch (pickedProp.PropHasPicked.GetPropType())
  487. {
  488. case Preparation.Utility.PropType.Gem:
  489. msg.MessageOfPickedProp.Type = Communication.Proto.PropType.Gem;
  490. break;
  491. case Preparation.Utility.PropType.addLIFE:
  492. msg.MessageOfPickedProp.Type = Communication.Proto.PropType.AddLife;
  493. break;
  494. case Preparation.Utility.PropType.addSpeed:
  495. msg.MessageOfPickedProp.Type = Communication.Proto.PropType.AddSpeed;
  496. break;
  497. case Preparation.Utility.PropType.Shield:
  498. msg.MessageOfPickedProp.Type = Communication.Proto.PropType.Shield;
  499. break;
  500. case Preparation.Utility.PropType.Spear:
  501. msg.MessageOfPickedProp.Type = Communication.Proto.PropType.Spear;
  502. break;
  503. default:
  504. msg.MessageOfPickedProp.Type = Communication.Proto.PropType.NullPropType;
  505. break;
  506. }
  507. return msg;
  508. }*/
  509. }
  510. }