Files
Enigmos/Modules/SubModules/EnumerableArrayInputModule.cs
2024-07-10 07:02:11 +01:00

33 lines
885 B
C#

using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
namespace Enigmos.Modules.SubModules;
public partial class EnumerableArrayInputModule : SubModule, ITerminalModule
{
public new IEnumerableProcessingModule ParentModule
{
get => (base.ParentModule as IEnumerableProcessingModule)!;
set => base.ParentModule = value;
}
public IDataInPort? Input { get; set; }
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();
public void Init(IEnumerableProcessingModule module)
{
base.Init();
this.DataInInit("Input", 1);
Input = DataInPorts[0];
ParentModule = module;
}
public void Drain()
{
if(Finished)
return;
ParentModule.CachedInputArray = Input!.GetData.Get!.Array;
}
public bool Finished { get; set; }
}