diff --git a/Enigmos.csproj b/Enigmos.csproj
index 332693e..70c89ae 100644
--- a/Enigmos.csproj
+++ b/Enigmos.csproj
@@ -3,7 +3,7 @@
net6.0
enable
- enable
+ disable
diff --git a/Modules/ProgrammableModules/OptimizationModule/OptimizationModule.cs b/Modules/ProgrammableModules/OptimizationModule/OptimizationModule.cs
index 784359d..304dd28 100644
--- a/Modules/ProgrammableModules/OptimizationModule/OptimizationModule.cs
+++ b/Modules/ProgrammableModules/OptimizationModule/OptimizationModule.cs
@@ -28,10 +28,7 @@ public abstract partial class OptimizationModule : ProgrammableModule,
public DataVariable[] CachedInputArray { get; set; } = Array.Empty();
public int ProcessingIndex { get; set; }
private IBoolParameter? UsingMax { get; set; }
- public DataVariable CachedResult { get; set; } =
- GlobalProvider.DataStructureProvider!.NewData(0, DataTypeConstant.BaseDataTypes.Null);
-
-
+ public DataVariable CachedResult { get; set; } = new ();
public IDataInPort? InternalIterOut { get; set; }
public IDataOutPort? InternalArrayIn { get; set; }
@@ -82,7 +79,7 @@ public abstract partial class OptimizationModule : ProgrammableModule,
ComputationFinished = true;
CachedInputArray = Array.Empty();
ProcessingIndex = 0;
- CachedResult = GlobalProvider.DataStructureProvider!.NullData;
+ CachedResult = new DataVariable();
CachedOptimizeValue = null;
ArrayInput = this.GetPort("ArrayInput");
@@ -137,7 +134,7 @@ public abstract partial class OptimizationModule : ProgrammableModule,
{
CachedOptimizeValue = null;
CachedInputArray = InternalArrayIn!.OutData.Get!.Array;
- CachedResult = GlobalProvider.DataStructureProvider!.NewData(0, DataTypeConstant.BaseDataTypes.Null);
+ CachedResult = new();
ProcessingIndex = 0;
}
diff --git a/Modules/TerminalModules/EngineModule.cs b/Modules/TerminalModules/EngineModule.cs
index dd4a273..c644816 100644
--- a/Modules/TerminalModules/EngineModule.cs
+++ b/Modules/TerminalModules/EngineModule.cs
@@ -1,5 +1,7 @@
using Enigmos.Ports.DataPorts;
+using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports;
+using Nocturnis.Enigmos.Ports.DataPorts.Directions;
using Nocturnis.GlobalManagement.Constants;
using Nocturnis.GlobalManagement.Controls;
using Nocturnis.Inventories.ItemSlots.ItemSlots;
@@ -10,16 +12,18 @@ namespace Enigmos.Modules.TerminalModules;
public abstract partial class EngineModule : TerminalModule
{
protected override bool Draggable => false;
- public DataInPort? Throttle { get; set; }
- public IChemicalItemSlot? FuelTank { get; set; }
+ public IDataInPort Throttle { get; set; }
+ public IChemicalItemSlot FuelTank { get; set; }
private double MaxPumpSpeed => 2d;
private double EnergyConversionEfficiency => 0.5d;
- public override IEnumerable Ports => new[] { Throttle! };
+ public override IEnumerable Ports => new[] { Throttle };
public override void Init()
{
base.Init();
- Throttle!.SetDataType(DataTypeConstant.BaseDataTypes.Real);
+ this.DataInInit("Throttle", 1);
+ Throttle = DataInPorts[0];
+ Throttle.SetDataType(DataTypeConstant.BaseDataTypes.Real);
FuelTank = GetNode("FuelTank");
PostInit();
}
diff --git a/Modules/TerminalModules/MemoryModule.cs b/Modules/TerminalModules/MemoryModule.cs
index b5222f9..2d3fff9 100644
--- a/Modules/TerminalModules/MemoryModule.cs
+++ b/Modules/TerminalModules/MemoryModule.cs
@@ -21,7 +21,7 @@ public abstract partial class MemoryModule : BaseModule, ITerminalModule, ISourc
public override void Init()
{
base.Init();
- Memory = GlobalProvider.DataStructureProvider!.NewData(0, DataTypeConstant.BaseDataTypes.Null);
+ Memory = new DataVariable();
this.DataInInit("Input", 3);
this.DataOutInit("Output", 4);
DataInPorts[1].SetDataType(DataTypeConstant.BaseDataTypes.Bit);
diff --git a/Ports/DataPorts/DataOutPort.cs b/Ports/DataPorts/DataOutPort.cs
index abb5530..1c67b48 100644
--- a/Ports/DataPorts/DataOutPort.cs
+++ b/Ports/DataPorts/DataOutPort.cs
@@ -3,6 +3,7 @@ using Nocturnis.Enigmos.Cables;
using Nocturnis.Enigmos.Modules.ComputationalModules;
using Nocturnis.Enigmos.Ports;
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
+using Nocturnis.GlobalManagement.Constants;
using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Ports.DataPorts;
@@ -36,5 +37,5 @@ public abstract partial class DataOutPort : DataPort, IDataOutPort
return res;
}
- public DataCache OutData { get; set; } = new(x => (0, GlobalProvider.DataStructureProvider!.NullDataType));
+ public DataCache OutData { get; set; } = new(x => (0, DataTypeConstant.BaseDataTypes.Null));
}
diff --git a/Ports/DataPorts/DataPort.cs b/Ports/DataPorts/DataPort.cs
index cb3b7eb..8440f75 100644
--- a/Ports/DataPorts/DataPort.cs
+++ b/Ports/DataPorts/DataPort.cs
@@ -11,12 +11,12 @@ namespace Enigmos.Ports.DataPorts;
public abstract partial class DataPort : BasePort, IDataPort
{
- public new IDataPort? ConnectedPort
+ public new IDataPort ConnectedPort
{
get => (base.ConnectedPort as IDataPort)!;
set => base.ConnectedPort = value;
}
- protected Sprite2D? DataTypeTexture { get; set; }
+ protected Sprite2D DataTypeTexture { get; set; }
public DataType DataType { get; set; } = new(DataTypeConstant.BaseDataTypeNames.Null);
public override void Init()
{
@@ -29,7 +29,7 @@ public abstract partial class DataPort : BasePort, IDataPort
if(Connected && val != ConnectedPort!.DataType)
this.Disconnect();
DataType = val;
- DataTypeTexture!.Texture = GlobalProvider.EnigmosProvider!.DataPortTypeMap[val];
+ DataTypeTexture!.Texture = GlobalProvider.DataTypeTexture[DataType.Type];
}
private void MouseEnterHandler() => DataTypeTexture!.Visible = true;