public void OnDeathTrigger(DeathEventData eventData) { if (eventData.TargetData == "Player") { } else if (eventData.TargetData == "Enemy") { //clean up } }
public void TriggerDeath() { DeathEventData deathEventData = new DeathEventData(this); OnBeforeDeath?.Invoke(deathEventData); if (!deathEventData.IsValid) { return; } OnDeath?.Invoke(deathEventData); foreach (KeyValuePair <Type, IEntityCallbackUser> entry in _controllers) { entry.Value.UnlinkCallbacksFromEntity(this); // _controllers.Remove(entry.Key); } IsDead = true; MainManager.GameManager.Events.TriggerEntityDied(deathEventData); UnityEngine.Object.Destroy(GameObject); }
private void RemoveOnDeath(DeathEventData data) { Object.Destroy(_outerCircleObject); Object.Destroy(_innerCircleObject); }
private void UntrackDeadEntities(DeathEventData eventData) { _entities.Remove(eventData.DeadEntity); }
public void TriggerEntityDied(DeathEventData data) { EntityDied?.Invoke(data); }