refactor programmable modules

This commit is contained in:
h z
2024-07-06 02:12:54 +01:00
parent be5428d708
commit 3eec8a1345
26 changed files with 329 additions and 364 deletions

View File

@@ -8,13 +8,15 @@ using Nocturnis.Enigmos.Ports.DataPorts.Directions;
namespace Enigmos.Modules.InterlayerModules;
public partial class InterlayerDataOutModule : ComputationalModule, IInterlayerDataOutModule
public partial class InterlayerDataOutModule : SubModule, IComputationalModule, IInterlayerDataOutModule
{
public override Vector2 PositionToBoard => base.PositionToBoard + (ParentModule?.PositionToBoard ?? Vector2.Zero);
public IProgrammableModule? ParentModule { get; set; }
public new IProgrammableModule? ParentModule
{
get => base.ParentModule as IProgrammableModule;
set => base.ParentModule = value;
}
protected override bool Draggable => false;
protected override bool HasManual => false;
public IDataOutPort[] DataOutPorts { get; set; }
public IBasePort UnderlyingPort => DataOut!;
public IInterlayerDataInModule? DualModule { get; set; }
public IDataOutPort? DataOut { get; set; }
@@ -28,7 +30,7 @@ public partial class InterlayerDataOutModule : ComputationalModule, IInterlayerD
PostInit();
}
public override void Define()
public void Define()
{
DataOut!.OutData = DualModule!.DataIn!.GetData;
}