示例#1
0
        public void RemoveFurniture(GameClient Session, uint Id)
        {
            RoomItem Item = GetItem(Id);

            if (Item == null)
            {
                return;
            }

            Item.Interactor.OnRemove(Session, Item);

            if (Item.IsWallItem)
            {
                ServerPacket Message = new ServerPacket(84);
                Message.AppendRawUInt(Item.Id);
                Message.AppendStringWithBreak("");
                Message.AppendBoolean(false);
                SendMessage(Message);
            }
            else if (Item.IsFloorItem)
            {
                ServerPacket Message = new ServerPacket(94);
                Message.AppendRawUInt(Item.Id);
                Message.AppendStringWithBreak("");
                Message.AppendBoolean(false);
                SendMessage(Message);
            }

            Items.Remove(Item);

            using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient())
            {
                dbClient.ExecuteQuery("DELETE FROM room_items WHERE id = '" + Id + "' AND room_id = '" + RoomId + "' LIMIT 1");
            }

            GenerateMaps();
            UpdateUserStatusses();
        }