namespace Zinnia.Action { using UnityEngine; using Zinnia.Extension; using Zinnia.Process; /// /// Re-emits the state of the given action whenever the process is run. /// public class StateEmitter : MonoBehaviour, IProcessable { [Tooltip("The Action to re-emit the state for.")] [SerializeField] private Action action; /// /// The Action to re-emit the state for. /// public Action Action { get { return action; } set { action = value; } } /// /// Re-emits the state of the Action. /// public virtual void Process() { if (!this.IsValidState() || Action == null) { return; } Action.EmitActivationState(); } } }