2022-11-20 21:56:53 +03:00
|
|
|
using System;
|
2023-03-20 23:46:17 +03:00
|
|
|
using Syntriax.Modules.State;
|
2022-11-20 21:56:53 +03:00
|
|
|
|
|
|
|
namespace Syntriax.Modules.Action
|
|
|
|
{
|
|
|
|
public interface IAction
|
|
|
|
{
|
|
|
|
/// <summary>
|
2023-03-20 23:46:17 +03:00
|
|
|
/// The member <see cref="IStateEnable"/> the Action uses to check if it's active or not
|
2022-11-20 21:56:53 +03:00
|
|
|
/// </summary>
|
2023-03-20 23:46:17 +03:00
|
|
|
IStateEnable StateEnable { get; }
|
2022-11-20 21:56:53 +03:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Called when the <see cref="IAction"/> is Activated
|
|
|
|
/// </summary>
|
|
|
|
/// <value>The <see cref="IAction"/> that Activated</value>
|
|
|
|
Action<IAction> OnActivated { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Triggers the <see cref="IAction"/>
|
|
|
|
/// </summary>
|
|
|
|
void Activate();
|
|
|
|
}
|
|
|
|
}
|