using System.Collections;
using System.Diagnostics.CodeAnalysis;

namespace PkmnLib.Dynamic.ScriptHandling;

public class ScriptContainer : IEnumerable<ScriptContainer>
{
    private Script? _script = null;

    [MemberNotNullWhen(false, nameof(ScriptHandling.Script))]
    public bool IsEmpty => _script is null;
    
    public Script? Script
    {
        get => _script;
        set => _script = value;
    }

    /// <inheritdoc />
    public IEnumerator<ScriptContainer> GetEnumerator()
    {
        yield return this;
    }
    

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }
}