Upgrade structure of code base

This commit is contained in:
h z
2024-07-03 12:20:08 +08:00
parent 59d257c06a
commit be5428d708
91 changed files with 1742 additions and 1603 deletions

View File

@@ -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;
}
}

View File

@@ -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();
}
}

View File

@@ -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;
}
}