private void OnCollisionExit(Collision collision) { Hitter hitter = collision.transform.gameObject.GetComponent <Hitter>(); if (hitter != null) { OnHitterExit?.Invoke(hitter); } }
private void OnTriggerExit(Collider other) { Hitter hitter = other.transform.gameObject.GetComponent <Hitter>(); if (hitter != null) { OnHitterExit?.Invoke(hitter); if (hitter is ActivatableHitter) { ActivatableHitter activatableHitter = (ActivatableHitter)hitter; if (registeredHitters.Contains(activatableHitter)) { activatableHitter.OnActivate -= onHitterActivated; int index = registeredHitters.IndexOf(activatableHitter); registeredHitters.RemoveAt(index); } } } }