Action/ActionBase.cs

22 lines
546 B
C#

using Syntriax.Modules.ToggleState;
using UnityEngine;
namespace Syntriax.Modules.Action
{
public abstract class ActionBase : MonoBehaviour, IActionActivate
{
public IToggleState ToggleState { get; protected set; } = null;
protected virtual void Awake() => ToggleState = new ToggleStateMember(true);
protected abstract void OnActivated();
public virtual void Activate()
{
if (!ToggleState.IsToggledNullChecked())
return;
OnActivated();
}
}
}