Update
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>disable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -28,10 +28,7 @@ public abstract partial class OptimizationModule : ProgrammableModule,
|
|||||||
public DataVariable[] CachedInputArray { get; set; } = Array.Empty<DataVariable>();
|
public DataVariable[] CachedInputArray { get; set; } = Array.Empty<DataVariable>();
|
||||||
public int ProcessingIndex { get; set; }
|
public int ProcessingIndex { get; set; }
|
||||||
private IBoolParameter? UsingMax { get; set; }
|
private IBoolParameter? UsingMax { get; set; }
|
||||||
public DataVariable CachedResult { get; set; } =
|
public DataVariable CachedResult { get; set; } = new ();
|
||||||
GlobalProvider.DataStructureProvider!.NewData(0, DataTypeConstant.BaseDataTypes.Null);
|
|
||||||
|
|
||||||
|
|
||||||
public IDataInPort? InternalIterOut { get; set; }
|
public IDataInPort? InternalIterOut { get; set; }
|
||||||
public IDataOutPort? InternalArrayIn { get; set; }
|
public IDataOutPort? InternalArrayIn { get; set; }
|
||||||
|
|
||||||
@@ -82,7 +79,7 @@ public abstract partial class OptimizationModule : ProgrammableModule,
|
|||||||
ComputationFinished = true;
|
ComputationFinished = true;
|
||||||
CachedInputArray = Array.Empty<DataVariable>();
|
CachedInputArray = Array.Empty<DataVariable>();
|
||||||
ProcessingIndex = 0;
|
ProcessingIndex = 0;
|
||||||
CachedResult = GlobalProvider.DataStructureProvider!.NullData;
|
CachedResult = new DataVariable();
|
||||||
CachedOptimizeValue = null;
|
CachedOptimizeValue = null;
|
||||||
|
|
||||||
ArrayInput = this.GetPort<DataInPort>("ArrayInput");
|
ArrayInput = this.GetPort<DataInPort>("ArrayInput");
|
||||||
@@ -137,7 +134,7 @@ public abstract partial class OptimizationModule : ProgrammableModule,
|
|||||||
{
|
{
|
||||||
CachedOptimizeValue = null;
|
CachedOptimizeValue = null;
|
||||||
CachedInputArray = InternalArrayIn!.OutData.Get!.Array;
|
CachedInputArray = InternalArrayIn!.OutData.Get!.Array;
|
||||||
CachedResult = GlobalProvider.DataStructureProvider!.NewData(0, DataTypeConstant.BaseDataTypes.Null);
|
CachedResult = new();
|
||||||
ProcessingIndex = 0;
|
ProcessingIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
using Enigmos.Ports.DataPorts;
|
using Enigmos.Ports.DataPorts;
|
||||||
|
using Nocturnis.Enigmos.Modules;
|
||||||
using Nocturnis.Enigmos.Ports;
|
using Nocturnis.Enigmos.Ports;
|
||||||
|
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
||||||
using Nocturnis.GlobalManagement.Constants;
|
using Nocturnis.GlobalManagement.Constants;
|
||||||
using Nocturnis.GlobalManagement.Controls;
|
using Nocturnis.GlobalManagement.Controls;
|
||||||
using Nocturnis.Inventories.ItemSlots.ItemSlots;
|
using Nocturnis.Inventories.ItemSlots.ItemSlots;
|
||||||
@@ -10,16 +12,18 @@ namespace Enigmos.Modules.TerminalModules;
|
|||||||
public abstract partial class EngineModule : TerminalModule
|
public abstract partial class EngineModule : TerminalModule
|
||||||
{
|
{
|
||||||
protected override bool Draggable => false;
|
protected override bool Draggable => false;
|
||||||
public DataInPort? Throttle { get; set; }
|
public IDataInPort Throttle { get; set; }
|
||||||
public IChemicalItemSlot? FuelTank { get; set; }
|
public IChemicalItemSlot FuelTank { get; set; }
|
||||||
private double MaxPumpSpeed => 2d;
|
private double MaxPumpSpeed => 2d;
|
||||||
private double EnergyConversionEfficiency => 0.5d;
|
private double EnergyConversionEfficiency => 0.5d;
|
||||||
public override IEnumerable<IBasePort> Ports => new[] { Throttle! };
|
public override IEnumerable<IBasePort> Ports => new[] { Throttle };
|
||||||
|
|
||||||
public override void Init()
|
public override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
Throttle!.SetDataType(DataTypeConstant.BaseDataTypes.Real);
|
this.DataInInit("Throttle", 1);
|
||||||
|
Throttle = DataInPorts[0];
|
||||||
|
Throttle.SetDataType(DataTypeConstant.BaseDataTypes.Real);
|
||||||
FuelTank = GetNode<IChemicalItemSlot>("FuelTank");
|
FuelTank = GetNode<IChemicalItemSlot>("FuelTank");
|
||||||
PostInit();
|
PostInit();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public abstract partial class MemoryModule : BaseModule, ITerminalModule, ISourc
|
|||||||
public override void Init()
|
public override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
Memory = GlobalProvider.DataStructureProvider!.NewData(0, DataTypeConstant.BaseDataTypes.Null);
|
Memory = new DataVariable();
|
||||||
this.DataInInit("Input", 3);
|
this.DataInInit("Input", 3);
|
||||||
this.DataOutInit("Output", 4);
|
this.DataOutInit("Output", 4);
|
||||||
DataInPorts[1].SetDataType(DataTypeConstant.BaseDataTypes.Bit);
|
DataInPorts[1].SetDataType(DataTypeConstant.BaseDataTypes.Bit);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using Nocturnis.Enigmos.Cables;
|
|||||||
using Nocturnis.Enigmos.Modules.ComputationalModules;
|
using Nocturnis.Enigmos.Modules.ComputationalModules;
|
||||||
using Nocturnis.Enigmos.Ports;
|
using Nocturnis.Enigmos.Ports;
|
||||||
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
||||||
|
using Nocturnis.GlobalManagement.Constants;
|
||||||
using Nocturnis.GlobalManagement.Providers;
|
using Nocturnis.GlobalManagement.Providers;
|
||||||
|
|
||||||
namespace Enigmos.Ports.DataPorts;
|
namespace Enigmos.Ports.DataPorts;
|
||||||
@@ -36,5 +37,5 @@ public abstract partial class DataOutPort : DataPort, IDataOutPort
|
|||||||
return res;
|
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 abstract partial class DataPort : BasePort, IDataPort
|
||||||
{
|
{
|
||||||
public new IDataPort? ConnectedPort
|
public new IDataPort ConnectedPort
|
||||||
{
|
{
|
||||||
get => (base.ConnectedPort as IDataPort)!;
|
get => (base.ConnectedPort as IDataPort)!;
|
||||||
set => base.ConnectedPort = value;
|
set => base.ConnectedPort = value;
|
||||||
}
|
}
|
||||||
protected Sprite2D? DataTypeTexture { get; set; }
|
protected Sprite2D DataTypeTexture { get; set; }
|
||||||
public DataType DataType { get; set; } = new(DataTypeConstant.BaseDataTypeNames.Null);
|
public DataType DataType { get; set; } = new(DataTypeConstant.BaseDataTypeNames.Null);
|
||||||
public override void Init()
|
public override void Init()
|
||||||
{
|
{
|
||||||
@@ -29,7 +29,7 @@ public abstract partial class DataPort : BasePort, IDataPort
|
|||||||
if(Connected && val != ConnectedPort!.DataType)
|
if(Connected && val != ConnectedPort!.DataType)
|
||||||
this.Disconnect();
|
this.Disconnect();
|
||||||
DataType = val;
|
DataType = val;
|
||||||
DataTypeTexture!.Texture = GlobalProvider.EnigmosProvider!.DataPortTypeMap[val];
|
DataTypeTexture!.Texture = GlobalProvider.DataTypeTexture[DataType.Type];
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MouseEnterHandler() => DataTypeTexture!.Visible = true;
|
private void MouseEnterHandler() => DataTypeTexture!.Visible = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user