using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;

using Plus.HabboHotel.Items;
using Plus.Communication.Packets.Outgoing.Inventory.Furni;



namespace Plus.Communication.Packets.Incoming.Inventory.Furni
{
    class RequestFurniInventoryEvent : IPacketEvent
    {
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            ICollection<Item> FloorItems = Session.GetHabbo().GetInventoryComponent().GetFloorItems();
            ICollection<Item> WallItems = Session.GetHabbo().GetInventoryComponent().GetWallItems();

            if (Session.GetHabbo().InventoryAlert == false)
            {
                Session.GetHabbo().InventoryAlert = true;
                Session.GetHabbo().GetInventoryComponent().UpdateItems(false);
                int TotalCount = FloorItems.Count + WallItems.Count;
                if (TotalCount >= 5000)
                {
                    Session.SendNotification("Hey! Notre système a détecté que vous avez un inventaire très important!\n\n" +
                        "Le maximum qu'un inventaire peut charger est 5000 articles, vous avez" + TotalCount + " articles.\n\n" +
                        "Si vous avez 5000 articles, alors vous êtes probablement au-dessus de la limite et certains éléments seront cachés jusqu'à ce que vous libérer de l'espace.\n\n" +
                        "Pour éviter les crashs ou bug merci de penser à vider votre inventaire.");
                }
            }

           
            Session.SendMessage(new FurniListComposer(FloorItems.ToList(), WallItems));
        }
    }
}
