Scriptum/Assets/Scripts/Chest/ChestController.cs
2022-06-14 22:06:01 +02:00

84 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
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();
}
}
}
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
}