using System; namespace RPGCore.StatusEffect.ObjectModules.StatusObjectModule { /// /// Extend this to make custom effect that can be used by . /// [Serializable] public abstract class BaseEffect { public Status status { get; internal set; } internal void OnApply_Internal() => OnApply(); internal void OnEnd_Internal() => OnEnd(); internal void OnRemove_Internal() => OnRemove(); protected abstract void OnApply(); protected abstract void OnEnd(); protected virtual void OnRemove() => OnEnd(); protected void EndStatus() { status.statusModule.End(status); } } }