Upgrade structure of code base
This commit is contained in:
@@ -2,19 +2,20 @@ using Enigmos.Cables;
|
||||
using Enigmos.Modules.ControllingModules;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
|
||||
|
||||
namespace Enigmos.Ports.SignalPorts;
|
||||
public partial class SignalInPort : SignalPort, ISignalInPort
|
||||
{
|
||||
public new IControllingModule Module
|
||||
{
|
||||
get => (base.Module as ControllingModule)!;
|
||||
get => (base.Module as PiplineModule)!;
|
||||
set => base.Module = value;
|
||||
}
|
||||
|
||||
public new SignalOutPort? ConnectedPort
|
||||
public new ISignalOutPort? ConnectedPort
|
||||
{
|
||||
get => base.ConnectedPort as SignalOutPort;
|
||||
get => base.ConnectedPort as ISignalOutPort;
|
||||
set => base.ConnectedPort = value;
|
||||
}
|
||||
|
||||
@@ -27,4 +28,5 @@ public partial class SignalInPort : SignalPort, ISignalInPort
|
||||
res.PortTo = other;
|
||||
return res;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
using Enigmos.Cables;
|
||||
using Enigmos.Modules.ControllingModules;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
|
||||
|
||||
namespace Enigmos.Ports.SignalPorts;
|
||||
|
||||
public partial class SignalOutPort : SignalPort, ISignalOutPort
|
||||
{
|
||||
public new IControllingModule Module
|
||||
public new IRoutingModule Module
|
||||
{
|
||||
get => (base.Module as ControllingModule)!;
|
||||
get => (base.Module as IRoutingModule)!;
|
||||
set => base.Module = value;
|
||||
}
|
||||
|
||||
|
||||
public new ISignalInPort? ConnectedPort
|
||||
{
|
||||
get => base.ConnectedPort as SignalInPort;
|
||||
get => base.ConnectedPort as ISignalInPort;
|
||||
set => base.ConnectedPort = value;
|
||||
}
|
||||
|
||||
@@ -29,4 +29,12 @@ public partial class SignalOutPort : SignalPort, ISignalOutPort
|
||||
res.PortTo = this;
|
||||
return res;
|
||||
}
|
||||
|
||||
public void Route()
|
||||
{
|
||||
if (!Connected)
|
||||
return;
|
||||
ConnectedPort!.Module.Execute();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,15 @@
|
||||
using Enigmos.Cables;
|
||||
using Godot;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using TabulaSmaragdina;
|
||||
using Nocturnis.Enigmos.Ports.SignalPorts;
|
||||
using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
namespace Enigmos.Ports.SignalPorts;
|
||||
|
||||
public abstract partial class SignalPort : BasePort, ISignalInPort
|
||||
public abstract partial class SignalPort : BasePort, ISignalPort
|
||||
{
|
||||
public new IControllingModule Module
|
||||
{
|
||||
get => (base.Module as IControllingModule)!;
|
||||
set => base.Module = value;
|
||||
}
|
||||
protected AnimatedSprite2D SignalDirection { get; set; }
|
||||
|
||||
protected AnimatedSprite2D? SignalDirection { get; set; }
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -21,8 +17,8 @@ public abstract partial class SignalPort : BasePort, ISignalInPort
|
||||
SignalDirection.Visible = false;
|
||||
}
|
||||
|
||||
private void MouseEnteredHandler() => SignalDirection.Visible = true;
|
||||
private void MouseExitedHandler() => SignalDirection.Visible = false;
|
||||
private void MouseEnteredHandler() => SignalDirection!.Visible = true;
|
||||
private void MouseExitedHandler() => SignalDirection!.Visible = false;
|
||||
|
||||
public override void SetStatusConnected() =>
|
||||
TextureNormal = GlobalProvider.EnigmosProvider!.SignalPortStatusConnected;
|
||||
@@ -39,4 +35,10 @@ public abstract partial class SignalPort : BasePort, ISignalInPort
|
||||
res.Init();
|
||||
return res;
|
||||
}
|
||||
|
||||
public new ISignalPort? ConnectedPort
|
||||
{
|
||||
get => (base.ConnectedPort as ISignalPort)!;
|
||||
set => base.ConnectedPort = value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user