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