protected void OnCollisionEnter2D(Collision2D collision) { gameObject.SetActive(false); OnProjectileDestroyed?.Invoke(this, new OnProjectileDestroyedArgs { tagOfObjectHit = collision.gameObject.tag }); }
void UnsubscribeEventListeners() { if (OnProjectileDestroyed != null) { Delegate[] subscribers = OnProjectileDestroyed.GetInvocationList(); foreach (Delegate subscriber in subscribers) { OnProjectileDestroyed -= (subscriber as EventHandler <OnProjectileDestroyedArgs>); } } }
public void DespawnProjectile() { OnProjectileDestroyed?.Invoke(_currentParameters); OnProjectileDespawned?.Invoke(); }