public void Remove(StatusCondition target) { StatusEffect effect = target.GetComponentInParent <StatusEffect>(); target.transform.SetParent(null); Destroy(target.gameObject); StatusCondition condition = effect.GetComponentInChildren <StatusCondition>(); if (condition == null) { effect.transform.SetParent(null); Destroy(effect.gameObject); this.PostNotification(RemovedNotification, effect); } }
public void Remove(StatusCondition target) { //unparent before destroying (objects are not destroyed instantly, which could cause ref problems) StatusEffect effect = target.GetComponentInParent<StatusEffect>(); target.transform.SetParent(null); Destroy(target.gameObject); StatusCondition condition = effect.GetComponentInChildren<StatusCondition>(); if (condition == null) { effect.transform.SetParent(null); Destroy(effect.gameObject); this.PostNotification(RemovedNotification, effect); } }