public void AddEffect(GameEffect effect, object target = null) { EffectUIComponent effectUIComponent = Instantiate(effectUIPrefab, stack); effectUIComponent.transform.SetAsFirstSibling(); effectUIComponent.Reset(effect, target); _effects.Push(effectUIComponent); }
public IEnumerator ApplyEffectsAsync() { while (_effects.Count > 0) { EffectUIComponent effectUIComponent = _effects.Pop(); effectUIComponent.ApplyEffect(); Destroy(effectUIComponent.gameObject); yield return(new WaitForSeconds(1.5f)); } }