DataTest.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using CommonLang.IO.Attribute;
  2. using CommonLang.Protocol;
  3. using RoomService.Net.BsClient;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. namespace RoomData.Net.BotRunner
  9. {
  10. [MessageType(0x00030000)]
  11. public class RoomDesc : NetMessage
  12. {
  13. public RoomInfo Info;
  14. public CreateRoomRequestR2B Data;
  15. public override void WriteExternal(CommonLang.IO.IOutputStream output)
  16. {
  17. output.PutS32(this.MessageID);
  18. output.PutExt(this.Info);
  19. output.PutExt(this.Data);
  20. }
  21. public override void ReadExternal(CommonLang.IO.IInputStream input)
  22. {
  23. this.MessageID = input.GetS32();
  24. this.Info = input.GetExt<RoomInfo>();
  25. this.Data = input.GetExt<CreateRoomRequestR2B>();
  26. }
  27. }
  28. [MessageType(0x00030001)]
  29. public class QueryAllRoomDesc : NetMessage
  30. {
  31. public override void WriteExternal(CommonLang.IO.IOutputStream output)
  32. {
  33. output.PutS32(this.MessageID);
  34. }
  35. public override void ReadExternal(CommonLang.IO.IInputStream input)
  36. {
  37. this.MessageID = input.GetS32();
  38. }
  39. }
  40. [MessageType(0x00030002)]
  41. public class AllRoomDesc : NetMessage
  42. {
  43. public List<RoomDesc> Rooms = new List<RoomDesc>();
  44. public override void WriteExternal(CommonLang.IO.IOutputStream output)
  45. {
  46. output.PutS32(this.MessageID);
  47. output.PutList(this.Rooms, output.PutExt);
  48. }
  49. public override void ReadExternal(CommonLang.IO.IInputStream input)
  50. {
  51. this.MessageID = input.GetS32();
  52. this.Rooms = input.GetList<RoomDesc>(input.GetExt<RoomDesc>);
  53. }
  54. }
  55. [MessageType(0x00030003)]
  56. public class EchoTextCommand : NetMessage
  57. {
  58. public string Command;
  59. public EchoTextCommand() { }
  60. public EchoTextCommand(string command)
  61. {
  62. this.Command = command;
  63. }
  64. public override void WriteExternal(CommonLang.IO.IOutputStream output)
  65. {
  66. output.PutS32(this.MessageID);
  67. output.PutUTF(this.Command);
  68. }
  69. public override void ReadExternal(CommonLang.IO.IInputStream input)
  70. {
  71. this.MessageID = input.GetS32();
  72. this.Command = input.GetUTF();
  73. }
  74. public override string ToString()
  75. {
  76. return Command + "";
  77. }
  78. }
  79. }