private void OnTriggerExit(Collider other) { if (other.attachedRigidbody == null) { return; } Viking viking = other.attachedRigidbody.GetComponent <Viking>(); if (viking == null) { return; } if (vikingsInRange.ContainsKey(viking)) { int value = --vikingsInRange[viking]; if (value <= 0) { vikingsInRange.Remove(viking); if (isPlaying) { viking.CancelAffect(usingPlayer, this); } } } else { Debug.LogWarning("Unbalanced enter/exits", this); } }