using Nocturnis.Enigmos.Modules; using Nocturnis.Enigmos.Modules.InterlayerModules; using Nocturnis.Enigmos.Ports; using Nocturnis.Enigmos.Ports.DataPorts.Directions; namespace Enigmos.Modules.InterlayerModules; public partial class InterlayerDataInModule : SubModule, IInterlayerDataInModule { public IBasePort? UnderlyingPort => DataIn; public new IProgrammableModule? ParentModule { get => base.ParentModule as IProgrammableModule; set => base.ParentModule = value; } public IInterlayerDataOutModule? DualModule { get; set; } public IDataInPort? DataIn { get; set; } public override IEnumerable Ports => new[] { DataIn }!; public IDataInPort[] DataInPorts { get; set; } = Array.Empty(); public override void Init() { base.Init(); this.DataInInit("DataIn", 1); DataIn = DataInPorts[0]; PostInit(); } }