using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public interface PanelControllerInterface<T>
{
    /// <summary>
    /// Function to build panel content
    /// </summary>
    /// <param name="Elements"></param>
    public void SetUp(List<T> Elements);

    /// <summary>
    /// Function to build panels content template
    /// </summary>
    public void BuildPanelSlots();

    /// <summary>
    /// Function to create single slot inside panel
    /// </summary>
    /// <param name="key"></param>
    /// <param name="_parent"></param>
    /// <returns></returns>
    public GameObject BuildSlot(int key, GameObject _parent);

    /// <summary>
    /// Function to fefill slotys with items
    /// </summary>
    /// <param name="Elements"></param>
    public void BuildPanelContent(List<T> Elements);

    /// <summary>
    /// Function to restore slots config to default settings
    /// </summary>
    public void ClearSlots();
}