Update
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<Nullable>disable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -28,10 +28,7 @@ public abstract partial class OptimizationModule : ProgrammableModule,
|
||||
public DataVariable[] CachedInputArray { get; set; } = Array.Empty<DataVariable>();
|
||||
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<DataVariable>();
|
||||
ProcessingIndex = 0;
|
||||
CachedResult = GlobalProvider.DataStructureProvider!.NullData;
|
||||
CachedResult = new DataVariable();
|
||||
CachedOptimizeValue = null;
|
||||
|
||||
ArrayInput = this.GetPort<DataInPort>("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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<IBasePort> Ports => new[] { Throttle! };
|
||||
public override IEnumerable<IBasePort> 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<IChemicalItemSlot>("FuelTank");
|
||||
PostInit();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user