private void OnTriggerEnter(Collider other) { //Debug.Log("Health: Entered trigger."); HealthTrigger ht = other.GetComponent <HealthTrigger>(); // If the other object has a HealthTrigger... if (ht != null) { // Start its coroutine and add it to the dictionary and list. Coroutine c; ht.Disabled += HealthTrigger_Disabled; healthTriggers.Add(ht); switch (ht.triggerType) { case HealthTrigger.Type.Damage: c = StartCoroutine(TriggerHurt(ht.amount, ht.timeBetweenFires, ht.healthType)); break; case HealthTrigger.Type.Heal: c = StartCoroutine(TriggerHeal(ht.amount, ht.timeBetweenFires, ht.healthType)); break; case HealthTrigger.Type.SetHealth: default: c = StartCoroutine(TriggerSetHealth(ht.amount, ht.timeBetweenFires, ht.healthType)); break; } triggerTimers.Add(other, c); } }
private void TriggerRemove(Collider other) { Coroutine c; if (triggerTimers.TryGetValue(other, out c)) { //Debug.Log("TriggerRemove: Health component: " + this); StopCoroutine(c); triggerTimers.Remove(other); HealthTrigger ht = other.GetComponent <HealthTrigger>(); ht.Disabled -= HealthTrigger_Disabled; healthTriggers.Remove(ht); } }
public void DeregisterHealthTriggerCallback(HealthTrigger callback) { _healthTriggerCallback -= callback; }
public void RegisterHealthTriggerCallback(HealthTrigger callback) { _healthTriggerCallback += callback; }
public void DeregisterHealthTriggerCallback( HealthTrigger callback ) { _healthTriggerCallback -= callback; }
public void RegisterHealthTriggerCallback( HealthTrigger callback ) { _healthTriggerCallback += callback; }