22 lines
546 B
C#
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();
|
||
|
}
|
||
|
}
|
||
|
}
|