using UnityEngine; public class DamageOverTimeVFXManager : MonoBehaviour { public ParticleSystem burningText; public ParticleSystem poisonedText; public ParticleSystem bleedingText; public GameObject burnVFX; public GameObject poisonVFX; public GameObject bleedVFX; EntityEventBroker broker; TickingEffectHandler effectHandler; private void Awake() { effectHandler = GetComponent(); broker = GetComponent(); broker.OnAilmentApplied.Subscribe(OnAilmentApplied); } private void Update() { burnVFX.SetActive(effectHandler.IsBurning()); poisonVFX.SetActive(effectHandler.IsPoisoned()); bleedVFX.SetActive(effectHandler.IsBleeding()); } private void OnAilmentApplied(DamageType type) { switch (type) { case DamageType.Fire: burningText.Play(); break; case DamageType.Physical: bleedingText.Play(); break; case DamageType.Poison: poisonedText.Play(); break; } } }