#nullable enable


namespace TagFighter.Effects.Steps
{
    using System.Collections.Generic;

    [StepType(StepTypeAttribute.SetterStep)]
    public class ContextAreaSet : OutputStep<bool>
    {
        [UnityEngine.SerializeField]
        SinglePort<IAreaOfEffect> _in = new();

        public override IEnumerable<IPort> Inputs {
            get {
                yield return _in;
            }
        }
        public override string ToString() => "Context.AOE.Set";

        public override bool IsValid => true;

        public override bool Run(EffectInput blackBoard) {
            var success = false;
            if (_in.Node != null) {
                blackBoard.Context.AreaOfEffect = _in.Node.Run(blackBoard);
                success = true;
            }

            return success;
        }
    }
}