public static void OnRoomEvent(this GameServer server, StoSMessage msg, RoomInfo info){ using(PacketWriter writer = new PacketWriter(2)){ writer.Write((ushort)msg); //length writer.Write((ushort)1); writer.WriteUnicode(info.Name, 20); writer.WriteUnicode(info.Pwd, 20); writer.Write((byte)info.Rule); writer.Write((byte)info.Mode); writer.Write(info.IsStart); writer.WriteUnicode(info.Lflist, 60); writer.Write(info.Warring); writer.Write(info.StartLP); writer.Write((ushort)info.players.Length); for(int i =0; i<info.players.Length;i++){ writer.WriteUnicode(info.players[i], 20); } writer.Write((ushort)info.observers.Count); for(int i =0; i<info.observers.Count;i++){ writer.WriteUnicode(info.observers[i], 20); } //string str = Tool.ToJson(info); //byte[] bs = Encoding.Unicode.GetBytes(str); //writer.Write(bs); writer.Use(); //Send(server.LocalClient, writer.Content); } }
public static void OnRoomEvent(this GameServer server, StoSMessage msg, RoomInfo info) { using (PacketWriter writer = new PacketWriter(2)){ writer.Write((ushort)msg); writer.Write((ushort)1); writer.WriteUnicode(info.RoomName, 20); writer.WriteUnicode(info.Pwd, 20); writer.Write((short)info.Rule); writer.Write((short)info.Mode); writer.Write(info.IsStart); writer.WriteUnicode(info.Lflist, 60); writer.Write(info.Warring); writer.Write(info.StartLP); writer.Write((ushort)info.players.Length); for (int i = 0; i < info.players.Length; i++) { writer.WriteUnicode(info.players[i], 20); } writer.Write((ushort)info.observers.Count); for (int i = 0; i < info.observers.Count; i++) { writer.WriteUnicode(info.observers[i], 20); } //string str = Tool.ToJson(info); //byte[] bs = Encoding.Unicode.GetBytes(str); //writer.Write(bs); writer.Use(); Send(server.LocalClient, writer.Content); } }