private IEnumerator DoPeriodicDamage(IDamagable damagableObj, IPeriodicDamageDealer damagingObject) { while (true) { if (damagableObj != null) { damagableObj.Damage(damagingObject); yield return(new WaitForSeconds(damagingObject.GetDamagePeriod())); } else { yield break; } } }
public PeriodicDamageDriver(MonoBehaviour owner) { this.owner = owner; damagingObj = owner.GetComponent <IPeriodicDamageDealer>(); }