25.03.2021 08:45
private readonly HashSet<Item> currentTriggeredItems = new HashSet<Item>();
private void OnTriggerEnter(Collider col)
{
if (col.CompareTag("Item") && col.TryGetComponent<Item>(out var item))
{
if(!currentTriggeredItems.Contains(item)) currentTriggeredItems.Add(item);
}
}
private void OnTriggerExit(Collider col)
{
if (col.CompareTag("Item") && col.TryGetComponent<Item>(out var item))
{
if(currentTriggeredItems.Contains(item)) currentTriggeredItems.Remove(item);
}
}
// This is the method you reference in the UI.Button.onClick
public void OnUiButtonClicked()
{
foreach(var item in currentTriggeredItems)
{
playerInventory.item.Add(item);
Destroy(item.gameObject)
}
currentTriggeredItems.Clear();
}