33 lines
885 B
C#
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; }
|
|
}
|
|
|