Files
Enigmos/Boards/FilterModuleBoard.cs
2024-07-10 07:02:11 +01:00

39 lines
1.5 KiB
C#

using Enigmos.Modules.InterlayerModules;
using Enigmos.Modules.ProgrammableModules.FilterModule;
using Nocturnis;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Modules.InterlayerModules;
using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Boards;
public partial class FilterModuleBoard : BaseBoard, ISceneConcept
{
public FilterModule? FilterModule { get; set; }
public FilterInputProviderModule? InputProvider { get; set; }
public IInterlayerDataOutModule[] FilterInputProxy { get; set; } = Array.Empty<IInterlayerDataOutModule>();
//public IInterlayerDataOutModule[] Outputs { get; set; } = Array.Empty<IInterlayerDataOutModule>();
//public XIterativeOutputModule? IterativeOutput { get; set; }
//public IDataInPort? Indicate { get; set; }
//public IndicateInputModule? Indicate { get; set; }
public FilterIndicateModule? Indicate { get; set; }
public void Init(FilterModule filterModule)
{
base.Init();
FilterModule = filterModule;
FilterInputProxy = new IInterlayerDataOutModule[3];
InputProvider = GetModule<FilterInputProviderModule>("InputProvider");
InputProvider.Init(this);
for (int i = 1; i <= 3; i++)
FilterInputProxy[i - 1] = GetModule<InterlayerDataOutModule>($"IO{i}");
base.Init();
//IterativeOutput = GetModule<XIterativeOutputModule>("IterativeOutput");
Indicate = GetModule<FilterIndicateModule>("Indicate");
Indicate.Indicate!.SetDataType(EnigmosConstant.DataPortTypes.Bit);
}
}