Exemplo n.º 1
0
 private void Awake()
 {
     if (Singleton != null)
     {
         Destroy(gameObject);
     }
     else
     {
         Singleton = this;
         DontDestroyOnLoad(this);
     }
 }
Exemplo n.º 2
0
        internal void GetCatalogIndex()
        {
            string CatalogType = Request.PopFixedString();

            if (CatalogType.Equals("NORMAL"))
            {
                Session.SendMessage(OtanixEnvironment.GetGame().GetCatalog().GetIndexMessageForRank(Session.GetHabbo().Rank));
            }
            else if (CatalogType.Equals("BUILDERS_CLUB"))
            {
                Session.SendMessage(PremiumManager.SerializePremiumItemsCount(Session.GetHabbo()));
                Session.SendMessage(OtanixEnvironment.GetGame().GetCatalogPremium().CatalogPagesCache);
            }
        }
Exemplo n.º 3
0
        internal void Init(UserData data)
        {
            this.PresentBuyStopwatch = new Stopwatch();
            this.PresentBuyStopwatch.Start();

            this.FavoriteRooms      = data.favouritedRooms;
            this.InventoryComponent = new InventoryComponent(Id, mClient);
            this.InventoryComponent.SetActiveState(mClient);
            this.AvatarEffectsInventoryComponent = new AvatarEffectsInventoryComponent(Id, mClient, data);
            this.chatMessageManager  = new ChatMessageManager();
            this.premiumManager      = PremiumManager.LoadPremiumData(Id);
            this.userclothingManager = new UserClothing(Id);

            if (HasFuse("fuse_chat_staff"))
            {
                data.friends.Add(EmuSettings.CHAT_USER_ID, StaffChat.MessengerStaff);
            }

            this.Messenger = new HabboMessenger(Id, data.friends, data.requests);
            this.UpdateRooms();
            this.LoadMuteUsers();
        }
Exemplo n.º 4
0
        public void PlacePremiumItem(bool FloorItem)
        {
            Room CurrentRoom = Session.GetHabbo().CurrentRoom;

            if (CurrentRoom == null)
            {
                return;
            }

            // Si no es el dueño de sala:
            if (CurrentRoom.RoomData.OwnerId != Session.GetHabbo().Id)
            {
                NotificaStaff.Notifica(Session, true);
                return;
            }

            // Si este usuario no es premium:
            if (!Session.GetHabbo().IsPremium())
            {
                NotificaStaff.Notifica(Session);
                return;
            }

            // Si ha llegado al límite de furnis establecidos:
            if (Session.GetHabbo().GetPremiumManager().GetActualItems() >= Session.GetHabbo().GetPremiumManager().GetMaxItems())
            {
                ServerMessage messageError = new ServerMessage(Outgoing.CustomAlert);
                messageError.AppendString("furni_placement_error");
                messageError.AppendInt32(1);
                messageError.AppendString("message");
                messageError.AppendString("${room.error.max_furniture}");
                Session.SendMessage(messageError);

                return;
            }

            // Obtenemos la página del catálogo.
            int PageId = Request.PopWiredInt32();
            CatalogPremiumPage Page = OtanixEnvironment.GetGame().GetCatalogPremium().GetPage(PageId);

            if (Page == null || !Page.Enable || !Page.Visible)
            {
                return;
            }

            // Obtenemos el item del catálogo.
            uint ItemId             = Request.PopWiredUInt();
            CatalogPremiumItem Item = Page.GetItem(ItemId);

            if (Item == null)
            {
                return;
            }

            Request.PopFixedString();

            if (FloorItem)
            {
                int X   = Request.PopWiredInt32();
                int Y   = Request.PopWiredInt32();
                int Rot = Request.PopWiredInt32();

                RoomItem RoomItem = new RoomItem(EmuSettings.PREMIUM_BASEID + Session.GetHabbo().GetPremiumManager().GetValidPosition(), CurrentRoom.RoomId, Item.BaseId, "", CurrentRoom.RoomData.OwnerId, X, Y, 0, Rot, CurrentRoom, true);

                if (CurrentRoom.GetRoomItemHandler().SetFloorItem(Session, RoomItem, X, Y, Rot, true, false, true, false) == false)
                {
                    Session.GetHabbo().GetPremiumManager().ModifyItemPosition((int)(RoomItem.Id - EmuSettings.PREMIUM_BASEID), false);
                    return;
                }
            }
            else
            {
                string W = Request.PopFixedString();

                WallCoordinate coordinate = new WallCoordinate(W);
                RoomItem       RoomItem   = new RoomItem(EmuSettings.PREMIUM_BASEID + Session.GetHabbo().GetPremiumManager().GetValidPosition(), CurrentRoom.RoomId, Item.BaseId, "", CurrentRoom.RoomData.OwnerId, coordinate, CurrentRoom, true);

                if (CurrentRoom.GetRoomItemHandler().SetWallItem(Session, RoomItem) == false)
                {
                    Session.GetHabbo().GetPremiumManager().ModifyItemPosition((int)(RoomItem.Id - EmuSettings.PREMIUM_BASEID), false);
                    return;
                }
            }

            // Incrementamos en 1 los items usados.
            Session.GetHabbo().GetPremiumManager().IncreaseItems();

            // Actualizamos el packet del catálogo.
            Session.SendMessage(PremiumManager.SerializePremiumItemsCount(Session.GetHabbo()));
        }