Files
TheVVaS-Assets/RPGCore.StatusEffect/Runtime/ObjectModules/StatusObjectModule/BaseEffect.cs
T

26 lines
750 B
C#

using System;
namespace RPGCore.StatusEffect.ObjectModules.StatusObjectModule
{
/// <summary>
/// Extend this to make custom effect that can be used by <see cref="StatusDefinitionSO"/>.
/// </summary>
[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);
}
}
}