Пример #1
0
        private void TriggerItem()
        {
            if (RoomUser.CalculateRights(Client.GetHabbo().RoomId, Client.GetHabbo().ID))
            {
                int furniID = Request.PopWiredInt32();

                FloorItems mFloor = AleedaEnvironment.GetCache().GetFloorItems().getItem(furniID);
                WallItems  mWall  = AleedaEnvironment.GetCache().GetWallItems().getItem(furniID);

                if (mFloor == null)
                {
                    Response.Initialize(85); // "AU"
                    Response.AppendString(mWall.ID + "");
                    Response.AppendInt32(mWall.SpriteID);
                    Response.AppendString(mWall.Wall);
                    if (mWall.Trigger == 0)
                    {
                        Response.Append(1);
                        Update.UpdateFurniTrigger(furniID, 1);

                        //Set the trigger
                        AleedaEnvironment.GetCache().GetWallItems().getItem(mWall.ID).Trigger = 1;
                    }
                    else
                    {
                        Response.Append(0);
                        Update.UpdateFurniTrigger(furniID, 0);

                        //Set the trigger
                        AleedaEnvironment.GetCache().GetWallItems().getItem(mWall.ID).Trigger = 0;
                    }
                    SendRoom();
                }
                else if (mWall == null)
                {
                    Response.Initialize(88); // "AX"
                    Response.Append(furniID);
                    Response.AppendChar(2);
                    if (mFloor.Trigger == 0)
                    {
                        Response.Append(1);
                        Update.UpdateFurniTrigger(furniID, 1);

                        //Set the trigger
                        AleedaEnvironment.GetCache().GetFloorItems().getItem(mFloor.ID).Trigger = 1;
                    }
                    else
                    {
                        Response.Append(0);
                        Update.UpdateFurniTrigger(furniID, 0);

                        //Set the trigger
                        AleedaEnvironment.GetCache().GetFloorItems().getItem(mFloor.ID).Trigger = 0;
                    }
                    Response.AppendChar(2);
                    SendRoom();
                }
            }
        }
Пример #2
0
 private void InsertItems(IEnumerable <WallEntry> result)
 {
     foreach (var wallEntry in result)
     {
         WallItems.Add(wallEntry);
     }
     RaisePropertyChanged(() => WallItems);
 }
Пример #3
0
        private void ScrollToRecentSelectedItem()
        {
            var index = _storageProvider.GetLastSelectedIndex();

            if (WallItems.Count > index && index != -1)
            {
                Messenger.Default.Send <object>(WallItems.ElementAt(index));
            }
            SelectedIndex = index;
        }
Пример #4
0
 // TODO Use visitor pattern to achieve this?
 public virtual void Add(Item item)
 {
     if (item is FloorItem)
     {
         FloorItems.Add((FloorItem)item);
     }
     else if (item is WallItem)
     {
         WallItems.Add((WallItem)item);
     }
     else if (item is PetItem)
     {
         Pets.Add((PetItem)item);
     }
 }
Пример #5
0
        private void PickUpItem()
        {
            //Remove garbage
            Request.PopWiredInt32();

            int furniID = Request.PopWiredInt32();

            FloorItems mFloor = GetFloorItems().getItem(furniID);
            WallItems  mWall  = GetWallItems().getItem(furniID);

            uint   ServerMessageID = 0;
            string FurnitureType   = "";

            if (mFloor == null)
            {
                ServerMessageID = 84;
                FurnitureType   = "i";

                //Add item to inventory.
                Client.GetHabbo().AddItem(furniID, mWall.SpriteID, FurnitureType);

                //Get rid of item from cache.
                AleedaEnvironment.GetCache().GetWallItems().deleteItem(furniID);
            }
            else if (mWall == null)
            {
                ServerMessageID = 94;
                FurnitureType   = "s";

                //Add item to inventory.
                Client.GetHabbo().AddItem(furniID, mFloor.SpriteID, FurnitureType);

                //Get rid of item from cache.
                AleedaEnvironment.GetCache().GetFloorItems().deleteItem(furniID);
            }

            if (Client.GetHabbo().ItemUsingID != 0)
            {
                Client.GetHabbo().IsOnItem = false;
                MoveUser(true);
            }

            Response.Initialize(ServerMessageID);
            Response.AppendRawInt32(furniID);
            Response.AppendString("");
            Response.AppendBoolean(false);
            SendRoom();
        }