using System; using Core; using UnityEngine; namespace Components { public class TileEffect : BaseMonoBehaviour { public event Action OnEffectComplete; [SerializeField] private ParticleSystem particle; [SerializeField] private float lifeTime = 3f; protected override void ReleaseReferences() { OnEffectComplete = null; particle = null; } public void PlayEffect() { particle.Play(); Invoke(nameof(ResetParticle), lifeTime); } private void ResetParticle() { particle.Stop(); OnEffectComplete?.Invoke(transform); OnEffectComplete = null; } } }