SharedData.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. using System.Drawing;
  2. public class SelectInfo
  3. {
  4. public int Index;
  5. public string Name = string.Empty;
  6. public ushort Level;
  7. public MirClass Class;
  8. public MirGender Gender;
  9. public DateTime LastAccess;
  10. public SelectInfo() { }
  11. public SelectInfo(BinaryReader reader)
  12. {
  13. Index = reader.ReadInt32();
  14. Name = reader.ReadString();
  15. Level = reader.ReadUInt16();
  16. Class = (MirClass)reader.ReadByte();
  17. Gender = (MirGender)reader.ReadByte();
  18. LastAccess = DateTime.FromBinary(reader.ReadInt64());
  19. }
  20. public void Save(BinaryWriter writer)
  21. {
  22. writer.Write(Index);
  23. writer.Write(Name);
  24. writer.Write(Level);
  25. writer.Write((byte)Class);
  26. writer.Write((byte)Gender);
  27. writer.Write(LastAccess.ToBinary());
  28. }
  29. }
  30. public class Door
  31. {
  32. public byte index;
  33. public DoorState DoorState;
  34. public byte ImageIndex;
  35. public long LastTick;
  36. public Point Location;
  37. }
  38. public class RankCharacterInfo
  39. {
  40. public long PlayerId;
  41. public string Name;
  42. public MirClass Class;
  43. public int level;
  44. public long Experience;//clients shouldnt care about this only server
  45. public object info;//again only keep this on server!
  46. public DateTime LastUpdated;
  47. public RankCharacterInfo()
  48. {
  49. }
  50. public RankCharacterInfo(BinaryReader reader)
  51. {
  52. PlayerId = reader.ReadInt64();
  53. Name = reader.ReadString();
  54. level = reader.ReadInt32();
  55. Class = (MirClass)reader.ReadByte();
  56. }
  57. public void Save(BinaryWriter writer)
  58. {
  59. writer.Write(PlayerId);
  60. writer.Write(Name);
  61. writer.Write(level);
  62. writer.Write((byte)Class);
  63. }
  64. }
  65. public class QuestItemReward
  66. {
  67. public ItemInfo Item;
  68. public ushort Count = 1;
  69. public QuestItemReward() { }
  70. public QuestItemReward(BinaryReader reader)
  71. {
  72. Item = new ItemInfo(reader);
  73. Count = reader.ReadUInt16();
  74. }
  75. public void Save(BinaryWriter writer)
  76. {
  77. Item.Save(writer);
  78. writer.Write(Count);
  79. }
  80. }
  81. public class WorldMapSetup
  82. {
  83. public bool Enabled;
  84. public List<WorldMapIcon> Icons = new List<WorldMapIcon>();
  85. public WorldMapSetup() { }
  86. public WorldMapSetup(BinaryReader reader)
  87. {
  88. Enabled = reader.ReadBoolean();
  89. int count = reader.ReadInt32();
  90. for (int i = 0; i < count; i++)
  91. Icons.Add(new WorldMapIcon(reader));
  92. }
  93. public void Save(BinaryWriter writer)
  94. {
  95. writer.Write(Enabled);
  96. writer.Write(Icons.Count);
  97. for (int i = 0; i < Icons.Count; i++)
  98. Icons[i].Save(writer);
  99. }
  100. }
  101. public class WorldMapIcon
  102. {
  103. public int ImageIndex;
  104. public string Title;
  105. public int MapIndex;
  106. public WorldMapIcon() { }
  107. public WorldMapIcon(BinaryReader reader)
  108. {
  109. ImageIndex = reader.ReadInt32();
  110. Title = reader.ReadString();
  111. MapIndex = reader.ReadInt32();
  112. }
  113. public void Save(BinaryWriter writer)
  114. {
  115. writer.Write(ImageIndex);
  116. writer.Write(Title);
  117. writer.Write(MapIndex);
  118. }
  119. }
  120. public class ClientGTMap
  121. {
  122. public int index;
  123. public string Name;
  124. public string Owner;
  125. public string Leader;
  126. public string Leader2;
  127. public int price;
  128. public int days;
  129. public int begin;
  130. public ClientGTMap()
  131. {
  132. }
  133. public ClientGTMap(BinaryReader reader)
  134. {
  135. index = reader.ReadInt32();
  136. Name = reader.ReadString();
  137. Owner = reader.ReadString();
  138. Leader = reader.ReadString();
  139. Leader2 = reader.ReadString();
  140. price = reader.ReadInt32();
  141. days = reader.ReadInt32();
  142. begin = reader.ReadInt32();
  143. }
  144. public void Save(BinaryWriter writer)
  145. {
  146. writer.Write(index);
  147. writer.Write(Name);
  148. writer.Write(Owner);
  149. writer.Write(Leader);
  150. writer.Write(Leader2);
  151. writer.Write(price);
  152. writer.Write(days);
  153. writer.Write(begin);
  154. }
  155. }