public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            string name = request.GetString();

            // TODO Refactor
            switch (name)
            {
            case "predefined_noob_lobby":
            {
                /*
                 * int roomId = Convert.ToUInt32(Yupi.GetDbConfig().DbData["noob.lobby.roomid"]);
                 * router.GetComposer<RoomForwardMessageComposer> ().Compose (session, roomId);*/
                throw new NotImplementedException();
                break;
            }

            case "random_friending_room":
            {
                Room room = RoomManager.GetActive().ToList().Random();
                router.GetComposer <RoomForwardMessageComposer>().Compose(session, room.Data.Id);
                break;
            }
            }
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            string time = message.GetString();

            router.GetComposer <HotelViewCountdownMessageComposer>().Compose(session, time);
        }
Exemple #3
0
 public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                    Yupi.Protocol.IRouter router)
 {
     /*
      * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
      *
      * uint petId = request.GetUInt32();
      *
      * RoomUser pet = room.GetRoomUserManager().GetPet(petId);
      *
      * if (pet.PetData.AnyoneCanRide == 1)
      * {
      *  using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor())
      *      queryReactor.RunFastQuery($"UPDATE pets_data SET anyone_ride = '0' WHERE id={num} LIMIT 1");
      *
      *  pet.PetData.AnyoneCanRide = 0;
      * }
      * else
      * {
      *  using (IQueryAdapter queryreactor2 = Yupi.GetDatabaseManager().GetQueryReactor())
      *      queryreactor2.RunFastQuery($"UPDATE pets_data SET anyone_ride = '1' WHERE id = {num} LIMIT 1");
      *
      *  pet.PetData.AnyoneCanRide = 1;
      * }
      *
      * router.GetComposer<PetInfoMessageComposer> ().Compose (room, pet.PetData);
      */
     throw new NotImplementedException();
 }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            int    toId = request.GetInteger();
            string text = request.GetString();

            if (string.IsNullOrWhiteSpace(text))
            {
                return;
            }

            Relationship friend = session.Info.Relationships.FindByUser(toId);

            if (friend != null)
            {
                MessengerMessage message = new MessengerMessage()
                {
                    From           = session.Info,
                    UnfilteredText = text,
                    Text           = Wordfilter.Filter(text),
                    Timestamp      = DateTime.Now,
                };

                var friendSession = ClientManager.GetByInfo(friend.Friend);
                friendSession?.Router.GetComposer <ConsoleChatMessageComposer>().Compose(session, message);
                message.Read = friendSession != null;

                // TODO Store for offline
                // TODO Store for chatlog
            }
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            Room room = session.Room;

            int userId = message.GetInteger();

            UserEntity roomUserByHabbo = room?.GetEntity(userId) as UserEntity;

            if (roomUserByHabbo == null)
            {
                return;
            }

            router.GetComposer <UserTagsMessageComposer>()
            .Compose(session, roomUserByHabbo.UserInfo);

            // TODO Move to proper place!

            /*
             * if (session.Info.Tags.Count >= 5) {
             *  Yupi.GetGame ()
             *      .GetAchievementManager ()
             *      .ProgressUserAchievement (roomUserByHabbo.GetClient (), "ACH_UserTags", 5);
             *
             * }*/
        }
 public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                    Yupi.Protocol.IRouter router)
 {
     /*
      * Room room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId);
      *
      * if (room == null)
      *  return;
      * // TODO Use permissions
      * if (!room.CheckRights(session) && room.RoomData.WhoCanKick != 2 &&
      *  session.GetHabbo().Rank < Convert.ToUInt32(Yupi.GetDbConfig().DbData["ambassador.minrank"]))
      *  return;
      *
      * uint userId = request.GetUInt32();
      *
      * RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabbo(userId);
      *
      * if (roomUserByHabbo == null || roomUserByHabbo.IsBot)
      *  return;
      *
      * if (room.CheckRights(roomUserByHabbo.GetClient(), true) ||
      *  roomUserByHabbo.GetClient().UserData.Info.HasPermission("fuse_mod") ||
      *  roomUserByHabbo.GetClient().UserData.Info.HasPermission("fuse_no_kick")) // TODO Shouldn't we tell the user about this? (Whisper?)
      *  return;
      *
      * room.GetRoomUserManager().RemoveUserFromRoom(roomUserByHabbo.GetClient(), true, true);
      * roomUserByHabbo.GetClient().CurrentRoomUserId = -1;
      */
     throw new NotImplementedException();
 }
Exemple #7
0
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            List <RoomData> rooms = session.Info.UsersRooms.Where(x => x.Group == null).ToList();

            router.GetComposer <GroupPurchasePageMessageComposer>().Compose(session, rooms);
        }
Exemple #8
0
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            if (session.RoomEntity == null)
            {
                return;
            }

            int actionId = request.GetInteger();

            UserAction action;

            if (!UserAction.TryParse(actionId, out action))
            {
                return;
            }

            if (action == UserAction.Idle)
            {
                session.RoomEntity.Sleep();
            }
            else
            {
                session.RoomEntity.Wake();

                session.RoomEntity.Room.EachUser(
                    roomSession =>
                {
                    roomSession.Router.GetComposer <RoomUserActionMessageComposer>()
                    .Compose(roomSession, session.RoomEntity.Id, action);
                });
            }
        }
 public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                    Yupi.Protocol.IRouter router)
 {
     /*
      * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId);
      *
      * if (room == null || (!room.RoomData.AllowPets && !room.CheckRights(session, true)))
      *  return;
      *
      * uint petId = request.GetUInt32();
      *
      * RoomUser pet = room.GetRoomUserManager().GetPet(petId);
      *
      * if (pet?.PetData == null || pet.PetData.OwnerId != session.GetHabbo().Id)
      *  return;
      *
      * pet.PetData.HaveSaddle = false;
      *
      * using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor())
      * {
      *  queryReactor.RunFastQuery(
      *      $"UPDATE pets_data SET have_saddle = '0' WHERE id = {pet.PetData.PetId}");
      *
      *  queryReactor.RunFastQuery(
      *      $"INSERT INTO items_rooms (user_id, item_name) VALUES ({session.GetHabbo().Id}, 'horse_saddle1');");
      * }
      *
      * session.GetHabbo().GetInventoryComponent().UpdateItems(true);
      *
      * router.GetComposer<SetRoomUserMessageComposer> ().Compose (room, pet);
      * router.GetComposer<SerializePetMessageComposer> ().Compose (room, pet);
      */
     throw new NotImplementedException();
 }
Exemple #10
0
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            int groupId = request.GetInteger();
            int color1  = request.GetInteger();
            int color2  = request.GetInteger();

            Group group = GroupRepository.Find(groupId);

            if (group?.Creator != session.Info)
            {
                return;
            }

            group.Colour1 = new GroupSymbolColours()
            {
                Colour = color1
            };
            group.Colour2 = new GroupBackGroundColours()
            {
                Colour = color2
            };
            throw new NotImplementedException();
            //router.GetComposer<GroupDataMessageComposer> ().Compose (session.GetHabbo().CurrentRoom, group, session.GetHabbo());
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            string newName = message.GetString();

            List <string> alternatives;

            NameChangedUpdatesMessageComposer.Status status = Validate(newName, session.Info.Name, out alternatives);

            if (status == NameChangedUpdatesMessageComposer.Status.OK)
            {
                session.Info.Name = newName;

                router.GetComposer <UpdateUsernameMessageComposer>().Compose(session, newName);
                // TODO Refactor

                UserRepository.Save(session.Info);

                if (session.Room != null)
                {
                    session.Room.EachUser(
                        (roomSession) =>
                    {
                        router.GetComposer <UserUpdateNameInRoomMessageComposer>()
                        .Compose(roomSession, session);
                    }
                        );
                }

                // TODO Update room owner

                // TODO Notify messenger
            }
        }
Exemple #12
0
        // TODO Refactor
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            int userId = request.GetInteger();

            Relationship relationship = session.Info.Relationships.FindByUser(userId);

            if (relationship == null)
            {
                router.GetComposer <FollowFriendErrorMessageComposer>().Compose(session, 0);
            }
            else
            {
                var friendSession = ClientManager.GetByUserId(userId);

                if (friendSession == null || friendSession.Room == null)
                {
                    router.GetComposer <FollowFriendErrorMessageComposer>().Compose(session, 2);
                }
                else
                {
                    router.GetComposer <RoomForwardMessageComposer>().Compose(session, friendSession.Room.Data.Id);
                }
            }
        }
Exemple #13
0
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            UserEntity userEntity = session.RoomEntity;

            if (userEntity == null)
            {
                return;
            }

            int effectId = message.GetInteger();

            if (session.IsRidingHorse)
            {
                return;
            }

            if (effectId == 0)
            {
                EffectController.StopEffect(session, session.Info.EffectComponent.ActiveEffect);
            }
            else
            {
                EffectController.ActivateEffect(userEntity, effectId);
            }
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            string whatever = message.GetString(); // TODO What does the string contain?

            router.GetComposer <CitizenshipStatusMessageComposer>().Compose(session, whatever);
        }
Exemple #15
0
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            request.GetBool(); // TODO Unused

            string idAsString = request.GetString();

            int userId;

            int.TryParse(idAsString, out userId);

            if (userId == 0)
            {
                return;
            }

            string message = request.GetString();

            Habbo guide = GuideManager.GetRandomGuide();

            if (guide == null)
            {
                router.GetComposer <OnGuideSessionErrorComposer>().Compose(session);
                return;
            }

            router.GetComposer <OnGuideSessionAttachedMessageComposer>().Compose(session, false, userId, message, 30);
            router.GetComposer <OnGuideSessionAttachedMessageComposer>().Compose(guide, true, userId, message, 15);

            guide.GuideOtherUser   = session;
            session.GuideOtherUser = guide;
        }
Exemple #16
0
 public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                    Yupi.Protocol.IRouter router)
 {
     router.GetComposer <SubscriptionStatusMessageComposer>().Compose(session, session.Info.Subscription);
     // TODO Implement Ambassador
     router.GetComposer <UserClubRightsMessageComposer>().Compose(session, session.Info.Subscription.GetLevel(), session.Info.Rank, false);
 }
Exemple #17
0
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            if (session.RoomEntity == null)
            {
                return;
            }

            string command  = request.GetString();
            int    bubbleId = request.GetInteger();

            ChatBubbleStyle bubble;

            if (!ChatBubbleStyle.TryFromInt32(bubbleId, out bubble))
            {
                return;
            }

            string[] args = command.Split(new char[] { ' ' }, 2);

            if (args.Length != 2)
            {
                return;
            }

            string targetUsername = args[0];
            string msg            = args[1];

            RoomEntity target = session.Room.GetEntity(targetUsername);

            Chat.Whisper(session, msg, bubble, target, -1);
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            int windowId = message.GetInteger();

            router.GetComposer <CatalogueClubPageMessageComposer>().Compose(session, windowId);
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            int targetUserId = message.GetInteger();

            message.GetUInt32(); // TODO Unknown

            int duration = message.GetInteger();

            Room room = session.Room;

            if (room == null ||
                !room.Data.ModerationSettings.CanMute(session.Info))
            {
                return;
            }

            UserEntity targetUser = room.GetEntity(targetUserId) as UserEntity;

            if (targetUser == null || targetUser.UserInfo.Rank >= session.Info.Rank)
            {
                return;
            }

            room.Data.MutedEntities.Add(new RoomMute()
            {
                Entity    = targetUser.UserInfo,
                ExpiresAt = DateTime.Now.AddMinutes(duration)
            });

            targetUser.User.Router.GetComposer <SuperNotificationMessageComposer>()
            .Compose(targetUser.User, T._("Notice"),
                     string.Format(T._("The owner of the room has muted you for {0} minutes!"), duration), "", "", "", 4);
        }
Exemple #20
0
        // TODO Refactor
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            int    groupId     = request.GetInteger();
            string name        = request.GetString();
            string description = request.GetString();

            Group theGroup = GroupRepository.Find(groupId);

            if (theGroup?.Creator != session.Info)
            {
                return;
            }

            theGroup.Name        = name;
            theGroup.Description = description;

            GroupRepository.Save(theGroup);

            if (session.Room != null)
            {
                session.Room.EachUser(
                    (entitySession) =>
                {
                    entitySession.Router.GetComposer <GroupDataMessageComposer>()
                    .Compose(entitySession, theGroup, session.Info);
                });
            }
            else
            {
                router.GetComposer <GroupDataMessageComposer>().Compose(session, theGroup, session.Info);
            }
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            int groupId    = request.GetInteger();
            int threadId   = request.GetInteger();
            int startIndex = request.GetInteger();

            request.GetInteger(); // TODO Unused

            Group theGroup = GroupRepository.Find(groupId);

            if (theGroup == null)
            {
                return;
            }

            GroupForumThread thread = theGroup.Forum.GetThread(threadId);

            if (thread == null)
            {
                return;
            }

            // TODO Magic constant
            List <GroupForumPost> posts = thread.Posts.Skip(startIndex).Take(20).ToList();

            router.GetComposer <GroupForumReadThreadMessageComposer>()
            .Compose(session, groupId, threadId, startIndex, posts);
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            if (session.RoomEntity == null)
            {
                return;
            }

            if (session.RoomEntity.RotBody % 2 != 0)
            {
                session.RoomEntity.SetRotation(session.RoomEntity.RotBody - 1);
            }

            Vector3 position = session.RoomEntity.Position;

            position.Z = session.Room.HeightMap.GetTileHeight(session.RoomEntity.Position);
            session.RoomEntity.SetPosition(position);

            EntityStatus status = session.RoomEntity.Status;

            if (status.IsSitting())
            {
                status.Stand();
            }
            else
            {
                // TODO Stop dancing
                status.Sit();
            }
        }
Exemple #23
0
 public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                    Yupi.Protocol.IRouter router)
 {
     /*
      * Room room = Yupi.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId);
      *
      * if (room == null || !room.CheckRights(session))
      *  return;
      *
      * string userName = request.GetString();
      * bool anwser = request.GetBool();
      *
      * GameClient clientByUserName = Yupi.GetGame().GetClientManager().GetClientByUserName(userName);
      *
      * if (clientByUserName == null)
      *  return;
      *
      * if (anwser)
      * {
      *  clientByUserName.GetHabbo().LoadingChecksPassed = true;
      *
      *  router.GetComposer<DoorbellOpenedMessageComposer> ().Compose (clientByUserName);
      * }
      * else if (clientByUserName.GetHabbo().CurrentRoomId != session.GetHabbo().CurrentRoomId)
      * {
      *  router.GetComposer<DoorbellNoOneMessageComposer> ().Compose (clientByUserName);
      * }
      */
     throw new NotImplementedException();
 }
Exemple #24
0
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            if (!session.Info.HasPermission("fuse_mod"))
            {
                return;
            }

            int ticketCount = message.GetInteger();

            for (int i = 0; i < ticketCount; i++)
            {
                int ticketId = message.GetInteger();

                SupportTicket ticket = TicketRepository.Find(ticketId);

                if (ticket != null)
                {
                    ticket.Release();
                    TicketRepository.Save(ticket);
                }

                foreach (Habbo staff in ClientManager.GetByPermission("handle_cfh"))
                {
                    staff.Router.GetComposer <ModerationToolIssueMessageComposer>().Compose(staff, ticket);
                }
            }
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            string username = request.GetString();

            // TODO Implement
            //session.Router.GetComposer<HotelClosedMessageComposer> ().Compose (session, 8, 0, false);

            if (username != session.Info.Name)
            {
                // TODO Should we check this and disconnect on mismatch?
            }

            // TODO Welcome message
            //router.GetComposer<SuperNotificationMessageComposer>().Compose(session, T._("Welcome"), T._("This is a development build"));

            /*
             * YupiWriterManager.WriteLine(request.GetString() + " joined game. With IP " + session.RemoteAddress, "Yupi.User", ConsoleColor.DarkGreen);
             *
             * if (!ServerConfigurationSettings.Data.ContainsKey("welcome.message.enabled") ||
             *  ServerConfigurationSettings.Data["welcome.message.enabled"] != "true")
             *  return;
             *
             * if (!ServerConfigurationSettings.Data.ContainsKey("welcome.message.image") ||
             *  string.IsNullOrEmpty(ServerConfigurationSettings.Data["welcome.message.image"]))
             *  session.SendNotifWithScroll(ServerExtraSettings.WelcomeMessage.Replace("%username%",
             *      session.GetHabbo().Name));
             * else
             *  session.SendNotif(ServerExtraSettings.WelcomeMessage.Replace("%username%", session.GetHabbo().Name),
             *      ServerConfigurationSettings.Data.ContainsKey("welcome.message.title")
             *      ? ServerConfigurationSettings.Data["welcome.message.title"]
             *      : string.Empty, ServerConfigurationSettings.Data["welcome.message.image"]);
             */
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            int groupId = request.GetInteger();
            int userId  = request.GetInteger();

            Group    group = GroupRepository.Find(groupId);
            UserInfo user  = UserRepository.Find(userId);

            if (group == null || !group.Admins.Contains(session.Info) || !group.Requests.Contains(user))
            {
                return;
            }
            throw new NotImplementedException();

            /*
             *
             * GroupMember memberGroup = group.Requests[userId];
             *
             * memberGroup.DateJoin = Yupi.GetUnixTimeStamp();
             * group.Members.Add(userId, memberGroup);
             * group.Requests.Remove(userId);
             * group.Admins.Add(userId, group.Members[userId]);
             *
             * router.GetComposer<GroupDataMessageComposer> ().Compose (session, group, session.GetHabbo());
             * router.GetComposer<GroupMembersMessageComposer> ().Compose (session, group, 0u, session);
             */
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                           Yupi.Protocol.IRouter router)
        {
            int roomId = request.GetInteger();

            request.GetBool(); // TODO Unused

            RoomData roomData = RoomRepository.Find(roomId);

            if (roomData == null)
            {
                return;
            }

            // TODO TOGGLE?!
            AchievementManager.ProgressUserAchievement(roomData.Owner, RoomBuilderAchievement.StaffPickedRooms);

            // TODO Add room to Staff Pick category!
            throw new NotImplementedException();

            Room room = RoomManager.GetIfLoaded(roomData);

            if (room != null)
            {
                room.EachUser(
                    (entitySession) =>
                {
                    entitySession.Router.GetComposer <RoomDataMessageComposer>()
                    .Compose(entitySession, roomData, entitySession.Info, true, true);
                });
            }
        }
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            string motto = message.GetString();

            // TODO Filter!
            session.Info.Motto = motto;

            UserRepository.Save(session.Info);

            if (session.Room == null)
            {
                return;
            }

            session.Room.EachUser(
                (roomSession) =>
            {
                router.GetComposer <UpdateUserDataMessageComposer>()
                .Compose(roomSession, session.Info, session.RoomEntity.Id);
            }
                );

            AchievementManager.ProgressUserAchievement(session, ProfileAchievement.Motto);
        }
Exemple #29
0
 public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request,
                                    Yupi.Protocol.IRouter router)
 {
     /*Room currentLoadingRoom = CurrentLoadingRoom;
      *
      * if (currentLoadingRoom == null || !session.GetHabbo().LoadingChecksPassed)
      *  return queuedServerMessageBuffer;
      *
      * if (session.GetHabbo().FavouriteGroup > 0u)
      * {
      *  if (CurrentLoadingRoom.RoomData.Group != null && !CurrentLoadingRoom.LoadedGroups.ContainsKey(CurrentLoadingRoom.RoomData.Group.Id))
      *      CurrentLoadingRoom.LoadedGroups.Add(CurrentLoadingRoom.RoomData.Group.Id, CurrentLoadingRoom.RoomData.Group.Badge);
      *
      *  if (!CurrentLoadingRoom.LoadedGroups.ContainsKey(Session.GetHabbo().FavouriteGroup) && Yupi.GetGame().GetGroupManager().GetGroup(Session.GetHabbo().FavouriteGroup) != null)
      *      CurrentLoadingRoom.LoadedGroups.Add(Session.GetHabbo().FavouriteGroup, Yupi.GetGame().GetGroupManager().GetGroup(Session.GetHabbo().FavouriteGroup).Badge);
      * }
      *
      * router.GetComposer<RoomGroupMessageComposer> ().Compose (session);
      * router.GetComposer<InitialRoomInfoMessageComposer> ().Compose (session, currentLoadingRoom);
      *
      * if (session.GetHabbo().SpectatorMode)
      * {
      *  router.GetComposer<SpectatorModeMessageComposer> ().Compose (session);
      * }
      *
      * if (currentLoadingRoom.RoomData.WallPaper != "0.0")
      * {
      *  router.GetComposer<RoomSpacesMessageComposer> ().Compose (session, RoomSpacesMessageComposer.RoomSpacesType.WALLPAPER, currentLoadingRoom);
      * }
      *
      * if (currentLoadingRoom.RoomData.Floor != "0.0")
      * {
      *  router.GetComposer<RoomSpacesMessageComposer> ().Compose (session, RoomSpacesMessageComposer.RoomSpacesType.FLOOR, currentLoadingRoom);
      * }
      *
      * router.GetComposer<RoomSpacesMessageComposer> ().Compose (session, RoomSpacesMessageComposer.RoomSpacesType.LANDSCAPE, currentLoadingRoom);
      *
      * if (currentLoadingRoom.CheckRights(session, true))
      * {
      *  // TODO Magic number
      *  router.GetComposer<RoomRightsLevelMessageComposer> ().Compose (session, 4);
      *  router.GetComposer<HasOwnerRightsMessageComposer> ().Compose (session);
      * }
      * else if (currentLoadingRoom.CheckRights(session, false, true))
      * {
      *  router.GetComposer<RoomRightsLevelMessageComposer> ().Compose (session, 1);
      * }
      * else
      * {
      *  router.GetComposer<RoomRightsLevelMessageComposer> ().Compose (session, 0);
      * }
      *
      * router.GetComposer<RoomRatingMessageComposer> ().Compose (session, urrentLoadingRoom.RoomData.Score,
      *  !session.GetHabbo ().RatedRooms.Contains (currentLoadingRoom.RoomId) && !currentLoadingRoom.CheckRights (session, true)); // TODO Refactor
      *
      * router.GetComposer<RoomUpdateMessageComposer> ().Compose (session, currentLoadingRoom.RoomId);
      */
     throw new NotImplementedException();
 }
Exemple #30
0
        public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message,
                                           Yupi.Protocol.IRouter router)
        {
            string badgeCode = message.GetString();
            bool   hasBadge  = session.Info.Badges.HasBadge(badgeCode);

            router.GetComposer <SendCampaignBadgeMessageComposer>().Compose(session, badgeCode, hasBadge);
        }