using System.Collections; using System.Collections.Generic; using UnityEngine; public abstract class Status : MonoBehaviour { private Entity entityLinked; [SerializeField] protected float _duration; private void Start() { EntityLinked = GetComponent(); } private void Update() { // effect timer _duration -= Time.deltaTime; if ( _duration < 0 ) Unapply(); } public abstract void Apply(float duration); public abstract void Unapply(); public Entity EntityLinked { get => entityLinked; set => entityLinked = value; } }