/// <summary> /// Serializes the group information. /// </summary> /// <param name="group">The group.</param> /// <param name="response">The response.</param> /// <param name="session">The session.</param> /// <param name="room">The room.</param> /// <param name="newWindow">if set to <c>true</c> [new window].</param> internal void SerializeGroupInfo(Guild group, ServerMessage response, GameClient session, Room room, bool newWindow = false) { if (room == null || group == null) return; DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0); DateTime dateTime2 = dateTime.AddSeconds(group.CreateTime); response.Init(LibraryParser.OutgoingRequest("GroupDataMessageComposer")); response.AppendInteger(group.Id); response.AppendBool(true); response.AppendInteger(group.State); response.AppendString(group.Name); response.AppendString(group.Description); response.AppendString(group.Badge); response.AppendInteger(group.RoomId); response.AppendString((AzureEmulator.GetGame().GetRoomManager().GenerateRoomData(group.RoomId) == null) ? "No room found.." : AzureEmulator.GetGame().GetRoomManager().GenerateRoomData(group.RoomId).Name); response.AppendInteger((group.CreatorId == session.GetHabbo().Id) ? 3 : (group.Requests.Contains(session.GetHabbo().Id) ? 2 : (group.Members.ContainsKey(session.GetHabbo().Id) ? 1 : 0))); response.AppendInteger(group.Members.Count); response.AppendBool(session.GetHabbo().FavouriteGroup == group.Id); response.AppendString(string.Format("{0}-{1}-{2}", dateTime2.Day.ToString("00"), dateTime2.Month.ToString("00"), dateTime2.Year)); response.AppendBool(group.CreatorId == session.GetHabbo().Id); response.AppendBool(group.Admins.ContainsKey(session.GetHabbo().Id)); response.AppendString((AzureEmulator.GetHabboById(group.CreatorId) == null) ? string.Empty : AzureEmulator.GetHabboById(group.CreatorId).UserName); response.AppendBool(newWindow); response.AppendBool(group.AdminOnlyDeco == 0u); response.AppendInteger(group.Requests.Count); response.AppendBool(group.HasForum); room.SendMessage(response); }
/// <summary> /// Broadcasts the current song data. /// </summary> /// <param name="instance">The instance.</param> internal void BroadcastCurrentSongData(Room instance) { if (CurrentSong != null) { instance.SendMessage(JukeboxComposer.ComposePlayingComposer(CurrentSong.SongData.Id, SongQueuePosition, 0)); return; } instance.SendMessage(JukeboxComposer.ComposePlayingComposer(0u, 0, 0)); }