project update

This commit is contained in:
h z
2024-06-30 01:52:44 +08:00
parent 117835b503
commit 59d257c06a
67 changed files with 2268 additions and 92 deletions

View File

@@ -1,6 +1,7 @@
using Enigmos.Cables;
using Enigmos.Modules.ControllingModules;
using Nocturnis.DataStructures;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports;
using TabulaSmaragdina;
@@ -15,10 +16,10 @@ public partial class DataInPort : DataPort, IDataInPort
public override bool IsMatch(IBasePort other) =>
other is DataOutPort dataOut &&
GlobalProvider.EnigmosProvider.DataPortTypeCompatible(DataType, dataOut.DataType);
GlobalProvider.DataPackageTypeProvider.DataPortTypeCompatible(DataType, dataOut.DataType);
public IDataPackage GetData(RootModule root)
public IDataPackage GetData(IRootModule root)
{
if (!Connected)
return GlobalProvider.DataStructureProvider.DefaultDataPackage;

View File

@@ -2,6 +2,7 @@ using Enigmos.Cables;
using Enigmos.Modules.ComputationalModules;
using Enigmos.Modules.ControllingModules;
using Nocturnis.DataStructures;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports;
using TabulaSmaragdina;
@@ -17,7 +18,7 @@ public partial class DataOutPort : DataPort, IDataOutPort
set => base.Module = value;
}
public void DataUpdateRequest(RootModule root) => Module.ComputeWithTimeoutHandle(root);
public void DataUpdateRequest(IRootModule root) => Module.ComputeWithTimeoutHandle(root);
public DataOutPort()
{
@@ -33,7 +34,7 @@ public partial class DataOutPort : DataPort, IDataOutPort
public override bool IsMatch(IBasePort other) =>
other is DataInPort inPort &&
GlobalProvider.EnigmosProvider.DataPortTypeCompatible(inPort.DataType, DataType);
GlobalProvider.DataPackageTypeProvider.DataPortTypeCompatible(inPort.DataType, DataType);
public IDataPackage ResultData { get; set; }
public override BaseCable MakeCable(IBasePort other)

View File

@@ -1,17 +1,18 @@
using Enigmos.Cables;
using Enigmos.Modules.ControllingModules;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports;
namespace Enigmos.Ports.SignalPorts;
public partial class SignalInPort : SignalPort, ISignalInPort
{
public new ControllingModule Module
public new IControllingModule Module
{
get => base.Module as ControllingModule;
get => (base.Module as ControllingModule)!;
set => base.Module = value;
}
public new SignalOutPort ConnectedPort
public new SignalOutPort? ConnectedPort
{
get => base.ConnectedPort as SignalOutPort;
set => base.ConnectedPort = value;

View File

@@ -1,19 +1,20 @@
using Enigmos.Cables;
using Enigmos.Modules.ControllingModules;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports;
namespace Enigmos.Ports.SignalPorts;
public partial class SignalOutPort : SignalPort, ISignalOutPort
{
public new ControllingModule Module
public new IControllingModule Module
{
get => base.Module as ControllingModule;
get => (base.Module as ControllingModule)!;
set => base.Module = value;
}
public new SignalInPort ConnectedPort
public new ISignalInPort? ConnectedPort
{
get => base.ConnectedPort as SignalInPort;
set => base.ConnectedPort = value;

View File

@@ -1,5 +1,6 @@
using Enigmos.Cables;
using Godot;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports;
using TabulaSmaragdina;
@@ -7,6 +8,11 @@ namespace Enigmos.Ports.SignalPorts;
public abstract partial class SignalPort : BasePort, ISignalInPort
{
public new IControllingModule Module
{
get => (base.Module as IControllingModule)!;
set => base.Module = value;
}
protected AnimatedSprite2D SignalDirection { get; set; }
public override void Init()
{
@@ -14,24 +20,22 @@ public abstract partial class SignalPort : BasePort, ISignalInPort
SignalDirection = GetNode<AnimatedSprite2D>("SignalDirection");
SignalDirection.Visible = false;
}
private void MouseEnteredHandler() => SignalDirection.Visible = true;
private void MouseExitedHandler() => SignalDirection.Visible = false;
public override void SetStatusConnected() =>
TextureNormal = GlobalProvider.EnigmosProvider.SignalPortStatusConnected;
TextureNormal = GlobalProvider.EnigmosProvider!.SignalPortStatusConnected;
public override void SetStatusNormal() =>
TextureNormal = GlobalProvider.EnigmosProvider.SignalPortStatusNormal;
TextureNormal = GlobalProvider.EnigmosProvider!.SignalPortStatusNormal;
public override void SetStatusPending() =>
TextureNormal = GlobalProvider.EnigmosProvider.SignalPortStatusPending;
TextureNormal = GlobalProvider.EnigmosProvider!.SignalPortStatusPending;
public override BaseCable MakeCable(IBasePort other)
{
BaseCable res = GlobalProvider.EnigmosProvider.SignalCableScene.Instantiate<BaseCable>();
BaseCable res = GlobalProvider.EnigmosProvider!.SignalCableScene.Instantiate<BaseCable>();
res.Init();
return res;
}