using GTANetworkAPI;
using ReallifeGamemode.Server.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers;
using System;
using System.Collections.Generic;
using System.Text;

namespace ReallifeGamemode.Server.Inventory.Items
{
    public abstract class FoodItem : IUsableItem
    {
        public abstract int HpAmount { get; }
        public abstract int Id { get; }
        public abstract string Name { get; }
        public abstract string Description { get; }
        public abstract int Gewicht { get; }
        public abstract string Einheit { get; }
        public abstract uint Object { get; }

        public void Use(UserItem uItem)
        {
            Client player = uItem.GetUser().Client;

            int amountToAdd = HpAmount;
            if (player.Health + amountToAdd > 100)
            {
                amountToAdd = 100 - player.Health;
            }

            player.Health += amountToAdd;
            player.SendNotification("Du hast ein/einen ~y~" + InventoryManager.GetItemById(uItem.ItemId).Name + " ~s~gegessen.", false);
            InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
        }
    }
}
