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

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Modules.InterlayerModules;
using Nocturnis.Enigmos.Ports;
@@ -6,13 +5,13 @@ using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
namespace Enigmos.Modules.InterlayerModules;
public partial class InterlayerSignalOutModule : BaseModule, IInterlayerSignalOutModule
public partial class InterlayerSignalOutModule : SubModule, IInterlayerSignalOutModule
{
public override Vector2 PositionToBoard =>
base.PositionToBoard + (ParentModule?.PositionToBoard ?? Vector2.Zero);
public IProgrammableModule? ParentModule { get; set; }
protected override bool Draggable => false;
protected override bool HasManual => false;
public new IProgrammableModule? ParentModule
{
get => base.ParentModule as IProgrammableModule;
set => base.ParentModule = value;
}
public IBasePort UnderlyingPort => SignalOut!;
public IInterlayerSignalInModule? DualModule { get; set; }
public ISignalOutPort? SignalOut { get; set; }
@@ -27,7 +26,4 @@ public partial class InterlayerSignalOutModule : BaseModule, IInterlayerSignalOu
SignalOut = SignalOutPorts[0];
PostInit();
}
public bool Visited { get; set; }
}