using System.Collections;
using System.Collections.Generic;
using GUI_Scripts;
using UnityEngine;

public class ChestController : BaseWarehouseController
{
    [SerializeField] public GameObject chest;
    [SerializeField] public List<Item> developerList = new List<Item>();    // FOR DEVELOPER TESTE - remove later !!!

    bool isTrigerred = false;

    // Start is called before the first frame update
    void Start()
    {
        chest = gameObject; // set object on current GameObject

        // FOR DEVELOPER TESTE - remove later !!!
        for(int i = 0; i < developerList.Count; i++)
        {
            SetItemOnPosition(i, developerList[i]);
        }
    }

    // Update is called once per frame
    void Update()
    {
        if (this._panel && this.isTrigerred && !this.isOpen)  // we can open chest only when its closed
        {
            if (Input.GetKeyDown(KeyCode.E))
            {
                this.OpenPanel();
                InventoryManager.Instance.OpenPanel();
                EquipmentManager.Instance.OpenPanel();
            }
        }

        if (!InventoryManager.Instance.isOpen)
        {
            if (Input.GetKeyDown(KeyCode.I))
            {
                InventoryManager.Instance.OpenPanel();
                EquipmentManager.Instance.OpenPanel();
            }
        }
        


    }

    void OnTriggerExit2D(Collider2D collision)
    {
        if (this._panel != null)
        {
            this.ClosePanel();
        }

        this.isTrigerred = false;
    }

    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == "Player")
        {
            this.isTrigerred = true;
        }
    }


    public override void ClosePanel()
    {
        base.ClosePanel();
        InventoryManager.Instance.ClosePanel();
        EquipmentManager.Instance.ClosePanel();
    }

    protected override void SetupPanel()
    {
        if(this.dynamicPanel)
        {
            this.dynamicPanel.GetComponent<ChestPanelController>().Setup(gameObject, _items);
        }
    }
    // WARNING
    //  DANGER - functon override position which may be not free

}