26 lines
750 B
C#
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);
|
|
}
|
|
}
|
|
} |