using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;

class PotionEffectsManager : ItemEffectsManager
{
    public static new PotionEffectsManager Instance;

    public override void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }
        else
        {
            Destroy(gameObject);
        }
    }

    public override void UseItemEffect(ItemSlot itemSlot, PanelTypeEnum originPanel)
    {
        // origin panel is passed for script to be able to recognize from witch list remove object etc...
        DetectPotionType();

        // use other actions binded to item 2
        itemSlot.Item?.InvokeEffectAction();

        // remove potion from slot in specific panel...
        var panelUiManager = DetectOriginPanel(originPanel);
        panelUiManager.RemoveByPosition(itemSlot.Number);
        panelUiManager.UpdateList(); //  refresh view
    }

    public void DetectPotionType()
    {
        // detect potion and use mached action

        // if( ... )
        //     Health....Potion();
    }

    // use below function in one above - depending on the condition
    public void HealthBigPotion()
    {

    }

    public void HealthSmallPotion()
    {

    }


    // Add and invoke you own functions
}