Esempio n. 1
0
        /// <summary>
        ///     Serializes the theGroup information.
        /// </summary>
        /// <param name="group">The theGroup.</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(Group 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(Yupi.GetGame().GetRoomManager().GenerateRoomData(@group.RoomId) == null
                ? "No room found.."
                : Yupi.GetGame().GetRoomManager().GenerateRoomData(group.RoomId).Name);
            response.AppendInteger(@group.CreatorId == session.GetHabbo().Id
                ? 3
                : (group.Requests.ContainsKey(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($"{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(Yupi.GetHabboById(@group.CreatorId) == null
                ? string.Empty
                : Yupi.GetHabboById(group.CreatorId).UserName);
            response.AppendBool(newWindow);
            response.AppendBool(group.AdminOnlyDeco == 0u);
            response.AppendInteger(group.Requests.Count);
            response.AppendBool(group.Forum.Id != 0);
            room.SendMessage(response);
        }
Esempio n. 2
0
        /// <summary>
        ///     Broadcasts the current song data.
        /// </summary>
        /// <param name="instance">The instance.</param>
        internal void BroadcastCurrentSongData(Room instance)
        {
            if (CurrentSong != null)
            {
                instance.SendMessage(SoundMachineComposer.ComposePlayingComposer(CurrentSong.SongData.Id,
                    SongQueuePosition, 0));
                return;
            }

            instance.SendMessage(SoundMachineComposer.ComposePlayingComposer(0u, 0, 0));
        }