internal ServerMessage SerializeNewStaffPicks() { ServerMessage message = new ServerMessage(); message.StartArray(); foreach (PublicItem item in _publicItems.Values.Where(t => t.ParentId == -2)) { message.Clear(); if (item.RoomData == null) continue; item.RoomData.Serialize(message, false); message.SaveArray(); } message.EndArray(); return message; }
/// <summary> /// Serializes the song inventory. /// </summary> /// <param name="songs">The songs.</param> /// <returns>ServerMessage.</returns> internal static ServerMessage SerializeSongInventory(HybridDictionary songs) { var serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("SongsLibraryMessageComposer")); if (songs == null) { serverMessage.AppendInteger(0); return serverMessage; } serverMessage.StartArray(); foreach (UserItem userItem in songs.Values) { if (userItem == null) { serverMessage.Clear(); continue; } serverMessage.AppendInteger(userItem.Id); var song = SoundMachineSongManager.GetSong(userItem.SongCode); serverMessage.AppendInteger(song?.Id ?? 0); serverMessage.SaveArray(); } serverMessage.EndArray(); return serverMessage; }
/// <summary> /// Serializes the flat categories. /// </summary> /// <param name="session">The session.</param> /// <returns>ServerMessage.</returns> internal ServerMessage SerializeFlatCategories(GameClient session) { ServerMessage serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("FlatCategoriesMessageComposer")); serverMessage.StartArray(); foreach (FlatCat flatCat in PrivateCategories.Values) { serverMessage.Clear(); if (flatCat == null) continue; serverMessage.AppendInteger(flatCat.Id); serverMessage.AppendString(flatCat.Caption); serverMessage.AppendBool(flatCat.MinRank <= session.GetHabbo().Rank); serverMessage.AppendBool(false); serverMessage.AppendString("NONE"); serverMessage.AppendString(string.Empty); serverMessage.AppendBool(false); serverMessage.SaveArray(); } serverMessage.EndArray(); return serverMessage; }