protected virtual void OnTriggerEnter(Collider bam) { if (bam.CompareTag("Treasure") && canPickupTreasure && !bCarryingTreasure) { Treasure pickup = bam.GetComponent <Treasure>(); //treasure implements IPickup if (pickup.IsAvailable) { pickup.Pickup(transform); bCarryingTreasure = true; carriedTreasure = pickup; } //bam.gameObject.SetActive(false); } if (bam.CompareTag("Capture") && carriedTreasure != null) { UnityEventManager.TriggerEvent("TreasureEvent", carriedTreasure.Value); bCarryingTreasure = false; carriedTreasure.PutDown(); carriedTreasure = null; } }