source generator upgrade

This commit is contained in:
h z
2024-07-10 15:27:36 +01:00
parent 401e48e0ba
commit a8688d7f95
50 changed files with 61 additions and 61 deletions

View File

@@ -1,10 +1,9 @@
using Enigmos.Modules.InterlayerModules; using Enigmos.Modules.InterlayerModules;
using Enigmos.Modules.ProgrammableModules.OptimizationModule; using Enigmos.Modules.ProgrammableModules.OptimizationModule;
using Nocturnis; using Nocturnis;
using Nocturnis.Attributes;
namespace Enigmos.Boards; namespace Enigmos.Boards;
[UniqueInheritance]
public partial class OptimizationModuleBoard : BaseBoard, ISceneConcept public partial class OptimizationModuleBoard : BaseBoard, ISceneConcept
{ {
public OptimizationModule? OptimizationModule { get; set; } public OptimizationModule? OptimizationModule { get; set; }

View File

@@ -153,6 +153,6 @@ public abstract partial class BaseModule : TextureRect, IBaseModule
base._Input(@event); base._Input(@event);
} }
public Texture2D PreviewTexture => GlobalProvider.TextureProvider.ModuleTextureMapper(this); //public Texture2D PreviewTexture => GlobalProvider.TextureProvider.ModuleTextureMapper(this);
public abstract Texture2D PreviewTexture { get; }
} }

View File

@@ -4,7 +4,7 @@ using Nocturnis.Enigmos.Ports;
namespace Enigmos.Modules; namespace Enigmos.Modules;
public partial class CompositeModule : BaseModule, ICompositeModule public abstract partial class CompositeModule : BaseModule, ICompositeModule
{ {
public IBaseModule[] SubModules => GetChildren().OfType<IBaseModule>().ToArray(); public IBaseModule[] SubModules => GetChildren().OfType<IBaseModule>().ToArray();

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class AdditionModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule public abstract partial class AdditionModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{ {
private IDataInGroup? InputGroup { get; set; } private IDataInGroup? InputGroup { get; set; }
private IDataOutGroup? OutputGroup { get; set; } private IDataOutGroup? OutputGroup { get; set; }

View File

@@ -7,7 +7,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class ComparisionModule : BinaryComputationalModule, public abstract partial class ComparisionModule : BinaryComputationalModule,
IParameterizedModule, IParameterizedModule,
IDuplicateOutputModule, IDuplicateOutputModule,
IOperationModule IOperationModule

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class ControlledOutputModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule public abstract partial class ControlledOutputModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{ {
[Export] private StringName? PresetDataType { get; set; } [Export] private StringName? PresetDataType { get; set; }
private IDataOutGroup? OutputGroup { get; set; } private IDataOutGroup? OutputGroup { get; set; }

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class DivisionModule : BinaryComputationalModule, public abstract partial class DivisionModule : BinaryComputationalModule,
IPolymorphismModule, IPolymorphismModule,
IDuplicateOutputModule IDuplicateOutputModule
{ {

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class DotProductModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule public abstract partial class DotProductModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{ {
private IDataInGroup? VectorInputGroup { get; set; } private IDataInGroup? VectorInputGroup { get; set; }
private IDataOutGroup? OutputGroup { get; set; } private IDataOutGroup? OutputGroup { get; set; }
@@ -46,7 +46,7 @@ public partial class DotProductModule : BinaryComputationalModule, IPolymorphism
public void Inference() public void Inference()
{ {
if (GlobalProvider.DataPackageTypeProvider!.IsComplexTensorType(VectorInputGroup!.SelectedType)) if (GlobalProvider.DataTypeProvider!.IsComplexTensorType(VectorInputGroup!.SelectedType))
OutputGroup!.SelectedType = EnigmosConstant.DataPortTypes.Complex; OutputGroup!.SelectedType = EnigmosConstant.DataPortTypes.Complex;
else else
OutputGroup!.SelectedType = EnigmosConstant.DataPortTypes.Real; OutputGroup!.SelectedType = EnigmosConstant.DataPortTypes.Real;

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalAlternativeDenialModule : BinaryLogicModule public abstract partial class LogicalAlternativeDenialModule : BinaryLogicModule
{ {
public override void Define() public override void Define()
{ {

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalBiconditionalModule : BinaryLogicModule public abstract partial class LogicalBiconditionalModule : BinaryLogicModule
{ {
public override void Define() public override void Define()
{ {

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalConjunctionModule : BinaryLogicModule public abstract partial class LogicalConjunctionModule : BinaryLogicModule
{ {

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalDisjunctionModule : BinaryLogicModule public abstract partial class LogicalDisjunctionModule : BinaryLogicModule
{ {
public override void Define() public override void Define()

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalExclusiveDisjunctionModule : BinaryLogicModule public abstract partial class LogicalExclusiveDisjunctionModule : BinaryLogicModule
{ {
public override void Define() public override void Define()
{ {

View File

@@ -3,7 +3,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalImplicationModule : BinaryLogicModule public abstract partial class LogicalImplicationModule : BinaryLogicModule
{ {
public override void Define() public override void Define()
{ {

View File

@@ -3,7 +3,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalJointDenialModule : BinaryLogicModule public abstract partial class LogicalJointDenialModule : BinaryLogicModule
{ {
public override void Define() public override void Define()
{ {

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalNonimplicationModule : BinaryLogicModule public abstract partial class LogicalNonimplicationModule : BinaryLogicModule
{ {
public override void Define() public override void Define()
{ {

View File

@@ -6,7 +6,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class MaxModule : BinaryComputationalModule, IOperationModule, IDuplicateOutputModule public abstract partial class MaxModule : BinaryComputationalModule, IOperationModule, IDuplicateOutputModule
{ {
public override void Init() public override void Init()
{ {

View File

@@ -6,7 +6,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class MinModule : BinaryComputationalModule, IDuplicateOutputModule, IOperationModule public abstract partial class MinModule : BinaryComputationalModule, IDuplicateOutputModule, IOperationModule
{ {
public override void Init() public override void Init()
{ {

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class MultiplicationModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule public abstract partial class MultiplicationModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{ {
private IDataPortGroup? InputGroup { get; set; } private IDataPortGroup? InputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; } private IDataPortGroup? OutputGroup { get; set; }

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class PowerModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule public abstract partial class PowerModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{ {
private IDataPortGroup? TensorInputGroup { get; set; } private IDataPortGroup? TensorInputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; } private IDataPortGroup? OutputGroup { get; set; }
@@ -46,6 +46,6 @@ public partial class PowerModule : BinaryComputationalModule, IPolymorphismModul
} }
public void Inference() => public void Inference() =>
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider!.ComplexVersionOf(TensorInputGroup!.SelectedType); OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider!.ComplexVersionOf(TensorInputGroup!.SelectedType);
} }

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class ScalarDivisionModule : BinaryComputationalModule, public abstract partial class ScalarDivisionModule : BinaryComputationalModule,
IPolymorphismModule, IPolymorphismModule,
IDuplicateOutputModule IDuplicateOutputModule
{ {
@@ -60,8 +60,8 @@ public partial class ScalarDivisionModule : BinaryComputationalModule,
public void Inference() public void Inference()
{ {
if (GlobalProvider.DataPackageTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType)) if (GlobalProvider.DataTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType))
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType); OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
else else
OutputGroup!.SelectedType = TensorInputGroup!.SelectedType; OutputGroup!.SelectedType = TensorInputGroup!.SelectedType;
} }

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class ScalarMultiplicationModule : public abstract partial class ScalarMultiplicationModule :
BinaryComputationalModule, BinaryComputationalModule,
IPolymorphismModule, IPolymorphismModule,
IDuplicateOutputModule IDuplicateOutputModule
@@ -60,10 +60,10 @@ public partial class ScalarMultiplicationModule :
public void Inference() public void Inference()
{ {
if ( if (
GlobalProvider.DataPackageTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType) || GlobalProvider.DataTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType) ||
GlobalProvider.DataPackageTypeProvider.IsComplexTensorType(TensorInputGroup!.SelectedType) GlobalProvider.DataTypeProvider.IsComplexTensorType(TensorInputGroup!.SelectedType)
) )
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType); OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
else else
OutputGroup!.SelectedType = TensorInputGroup.SelectedType; OutputGroup!.SelectedType = TensorInputGroup.SelectedType;
} }

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class SubtractionModule : BinaryComputationalModule, public abstract partial class SubtractionModule : BinaryComputationalModule,
IPolymorphismModule, IPolymorphismModule,
IDuplicateOutputModule IDuplicateOutputModule
{ {

View File

@@ -13,7 +13,7 @@ using C2 = Skeleton.Algebra.CategoryOf<Skeleton.Algebra.DimensionProviders.IDim2
namespace Enigmos.Modules.ComputationalModules.Binary; namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class V2Module : BinaryComputationalModule, public abstract partial class V2Module : BinaryComputationalModule,
IPolymorphismModule, IPolymorphismModule,
IDuplicateOutputModule IDuplicateOutputModule
{ {
@@ -62,7 +62,7 @@ public partial class V2Module : BinaryComputationalModule,
public void Inference() public void Inference()
{ {
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider!.BuildType(OutputGroup.SelectedType, 1, 2); OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider!.BuildType(OutputGroup.SelectedType, 1, 2);
} }
} }

View File

@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ComputationalModules.Nullary; namespace Enigmos.Modules.ComputationalModules.Nullary;
public partial class ConstantModule : NullaryComputationalModule, IParameterizedModule, IDuplicateOutputModule public abstract partial class ConstantModule : NullaryComputationalModule, IParameterizedModule, IDuplicateOutputModule
{ {
[Export] private double PresetConstantValue { get; set; } [Export] private double PresetConstantValue { get; set; }

View File

@@ -9,7 +9,7 @@ using Nocturnis.GlobalManagement.Providers;
using Skeleton.DataStructure; using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Nullary; namespace Enigmos.Modules.ComputationalModules.Nullary;
public partial class KeyListenerModule : NullaryComputationalModule, public abstract partial class KeyListenerModule : NullaryComputationalModule,
IParameterizedModule, IParameterizedModule,
IKeyListenerModule, IKeyListenerModule,
IDuplicateOutputModule IDuplicateOutputModule

View File

@@ -11,7 +11,7 @@ using Skeleton.Utils.RandomEngines;
namespace Enigmos.Modules.ComputationalModules.Nullary; namespace Enigmos.Modules.ComputationalModules.Nullary;
public partial class NormalDistributionModule : NullaryComputationalModule, public abstract partial class NormalDistributionModule : NullaryComputationalModule,
IParameterizedModule, IParameterizedModule,
IDuplicateOutputModule IDuplicateOutputModule
{ {

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Ternary; namespace Enigmos.Modules.ComputationalModules.Ternary;
public partial class SelectorModule : TernaryComputationalModule, public abstract partial class SelectorModule : TernaryComputationalModule,
ITernaryComputationalModule, ITernaryComputationalModule,
IPolymorphismModule, IPolymorphismModule,
IDuplicateOutputModule IDuplicateOutputModule

View File

@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Providers;
using Skeleton.DataStructure; using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary; namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class CopyModule : UnaryComputationalModule, public abstract partial class CopyModule : UnaryComputationalModule,
IPolymorphismModule, IPolymorphismModule,
IDuplicateOutputModule IDuplicateOutputModule
{ {

View File

@@ -6,7 +6,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary; namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class LogicalNegationModule : UnaryComputationalModule, IDuplicateOutputModule public abstract partial class LogicalNegationModule : UnaryComputationalModule, IDuplicateOutputModule
{ {
public override void Init() public override void Init()
{ {

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary; namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class NegationModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule public abstract partial class NegationModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{ {
private IDataInGroup? InputGroup { get; set; } private IDataInGroup? InputGroup { get; set; }

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary; namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class SquareModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule public abstract partial class SquareModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{ {
private IDataPortGroup? InputGroup { get; set; } private IDataPortGroup? InputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; } private IDataPortGroup? OutputGroup { get; set; }

View File

@@ -11,7 +11,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary; namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class V2ComponentModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule public abstract partial class V2ComponentModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{ {
private IDataPortGroup? VectorInputGroup { get; set; } private IDataPortGroup? VectorInputGroup { get; set; }
private IDataPortGroup? ScalarOutputGroup { get; set; } private IDataPortGroup? ScalarOutputGroup { get; set; }
@@ -62,7 +62,7 @@ public partial class V2ComponentModule : UnaryComputationalModule, IPolymorphism
} }
public void Inference() => public void Inference() =>
ScalarOutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider! ScalarOutputGroup!.SelectedType = GlobalProvider.DataTypeProvider!
.GetBaseField(VectorInputGroup!.SelectedType); .GetBaseField(VectorInputGroup!.SelectedType);
} }

View File

@@ -5,7 +5,7 @@ using Nocturnis.GlobalManagement.Constants;
using Nocturnis.GlobalManagement.Controls; using Nocturnis.GlobalManagement.Controls;
namespace Enigmos.Modules.ControllingModules.ActionModules; namespace Enigmos.Modules.ControllingModules.ActionModules;
public partial class AttackActionModule : ActionModule, ITerminalModule public abstract partial class AttackActionModule : ActionModule, ITerminalModule
{ {
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>(); public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();

View File

@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Controls;
namespace Enigmos.Modules.ControllingModules.ActionModules; namespace Enigmos.Modules.ControllingModules.ActionModules;
public partial class MoveActionModule : ActionModule, ITerminalModule public abstract partial class MoveActionModule : ActionModule, ITerminalModule
{ {
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>(); public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();

View File

@@ -5,7 +5,7 @@ using Nocturnis.Enigmos.Ports;
using Nocturnis.Enigmos.Ports.SignalPorts.Directions; using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
namespace Enigmos.Modules.ControllingModules; namespace Enigmos.Modules.ControllingModules;
public partial class RootModule : BaseModule, IRootModule public abstract partial class RootModule : BaseModule, IRootModule
{ {
public bool ActionFinished { get; set; } public bool ActionFinished { get; set; }
public IBaseCreature? ManagedBy { get; set; } public IBaseCreature? ManagedBy { get; set; }

View File

@@ -9,7 +9,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ControllingModules; namespace Enigmos.Modules.ControllingModules;
public partial class SinglePoleDoubleThrowSwitchModule : PiplineModule, IParameterizedModule, ITerminalModule public abstract partial class SinglePoleDoubleThrowSwitchModule : PiplineModule, IParameterizedModule, ITerminalModule
{ {
public HashSet<IConfigurableParameter> ConfigurableParameters { get; set; } = new(); public HashSet<IConfigurableParameter> ConfigurableParameters { get; set; } = new();
private IBoolParameter? LeftPortForTrue { get; set; } private IBoolParameter? LeftPortForTrue { get; set; }

View File

@@ -6,7 +6,7 @@ using Nocturnis.GlobalManagement.Controls;
namespace Enigmos.Modules.ControllingModules; namespace Enigmos.Modules.ControllingModules;
public partial class SinglePoleSingleThrowSwitchModule : PiplineModule, ITerminalModule public abstract partial class SinglePoleSingleThrowSwitchModule : PiplineModule, ITerminalModule
{ {
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>(); public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();

View File

@@ -13,7 +13,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ProgrammableModules.FilterModule; namespace Enigmos.Modules.ProgrammableModules.FilterModule;
public partial class FilterModule : ProgrammableModule, public abstract partial class FilterModule : ProgrammableModule,
IPolymorphismModule, IPolymorphismModule,
IInternalComputationalModule, IInternalComputationalModule,
IEnumerableProcessingModule IEnumerableProcessingModule

View File

@@ -10,7 +10,7 @@ using Nocturnis.GlobalManagement.Constants;
using Nocturnis.GlobalManagement.Providers; using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ProgrammableModules.FunctionModule; namespace Enigmos.Modules.ProgrammableModules.FunctionModule;
public partial class FunctionModule : ProgrammableModule, IPolymorphismModule public abstract partial class FunctionModule : ProgrammableModule, IPolymorphismModule
{ {
private IDataPortGroup[] ExteriorToInterior { get; set; } = Array.Empty<IDataPortGroup>(); private IDataPortGroup[] ExteriorToInterior { get; set; } = Array.Empty<IDataPortGroup>();
private IDataPortGroup[] InteriorToExterior { get; set; } = Array.Empty<IDataPortGroup>(); private IDataPortGroup[] InteriorToExterior { get; set; } = Array.Empty<IDataPortGroup>();

View File

@@ -15,7 +15,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ProgrammableModules.OptimizationModule; namespace Enigmos.Modules.ProgrammableModules.OptimizationModule;
public partial class OptimizationModule : ProgrammableModule, public abstract partial class OptimizationModule : ProgrammableModule,
IPolymorphismModule, IPolymorphismModule,
IParameterizedModule, IParameterizedModule,
IInternalComputationalModule, IInternalComputationalModule,
@@ -125,7 +125,7 @@ public partial class OptimizationModule : ProgrammableModule,
public void Inference() public void Inference()
{ {
StringName elementType = GlobalProvider.DataPackageTypeProvider!.ToElement(OptimizationGroup!.SelectedType); StringName elementType = GlobalProvider.DataTypeProvider!.ToElement(OptimizationGroup!.SelectedType);
Output!.Out!.SetDataType(elementType); Output!.Out!.SetDataType(elementType);
UnderlyingBoard.InputProvider!.Output!.SetDataType(elementType); UnderlyingBoard.InputProvider!.Output!.SetDataType(elementType);
} }

View File

@@ -10,4 +10,5 @@ public class SubModule : BaseModule
base.PositionToBoard + (ParentModule?.PositionToBoard ?? Vector2.Zero); base.PositionToBoard + (ParentModule?.PositionToBoard ?? Vector2.Zero);
protected sealed override bool Draggable => false; protected sealed override bool Draggable => false;
protected sealed override bool HasManual => false; protected sealed override bool HasManual => false;
public override Texture2D? PreviewTexture => null;
} }

View File

@@ -7,7 +7,7 @@ using Skeleton.Utils.Helpers;
using VirtualChemistry.Chemistry.Mixtures.Implements; using VirtualChemistry.Chemistry.Mixtures.Implements;
namespace Enigmos.Modules.TerminalModules; namespace Enigmos.Modules.TerminalModules;
public 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 DataInPort? Throttle { get; set; }

View File

@@ -10,7 +10,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.TerminalModules; namespace Enigmos.Modules.TerminalModules;
public partial class MemoryModule : BaseModule, ITerminalModule, ISourceModule, IDuplicateOutputModule public abstract partial class MemoryModule : BaseModule, ITerminalModule, ISourceModule, IDuplicateOutputModule
{ {
private IData? Memory { get; set; } private IData? Memory { get; set; }
private IDataPortGroup? MemoryPortGroup { get; set; } private IDataPortGroup? MemoryPortGroup { get; set; }

View File

@@ -6,7 +6,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.TerminalModules; namespace Enigmos.Modules.TerminalModules;
public partial class SRLatchModule : BaseModule, public abstract partial class SRLatchModule : BaseModule,
ITerminalModule, ITerminalModule,
ISourceModule, ISourceModule,
IDuplicateOutputModule, IDuplicateOutputModule,

View File

@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.TerminalModules.TestingModules; namespace Enigmos.Modules.TerminalModules.TestingModules;
public partial class LightEmittingDiodeModule : TerminalModule public abstract partial class LightEmittingDiodeModule : TerminalModule
{ {
private Sprite2D? LightEmittingDiode { get; set; } private Sprite2D? LightEmittingDiode { get; set; }
private IDataInPort? Input { get; set; } private IDataInPort? Input { get; set; }

View File

@@ -6,7 +6,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.TerminalModules.TestingModules; namespace Enigmos.Modules.TerminalModules.TestingModules;
public partial class R2ReaderModule : TerminalModule public abstract partial class R2ReaderModule : TerminalModule
{ {
private DataInPort? DataIn { get; set; } private DataInPort? DataIn { get; set; }
private R2Reader? R2Reader { get; set; } private R2Reader? R2Reader { get; set; }

View File

@@ -8,7 +8,7 @@ using Skeleton.Utils.Helpers;
namespace Enigmos.Modules.TerminalModules.TestingModules; namespace Enigmos.Modules.TerminalModules.TestingModules;
public partial class RealReaderModule : BaseModule, ITerminalModule, IOperationModule public abstract partial class RealReaderModule : BaseModule, ITerminalModule, IOperationModule
{ {
private AnimatedSprite2D? RealReader { get; set; } private AnimatedSprite2D? RealReader { get; set; }
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>(); public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();

View File

@@ -15,7 +15,7 @@ public partial class DataInPort : DataPort, IDataInPort
public override bool IsMatch(IBasePort other) => public override bool IsMatch(IBasePort other) =>
other is DataOutPort dataOut && other is DataOutPort dataOut &&
GlobalProvider.DataPackageTypeProvider!.DataPortTypeCompatible(DataType!, dataOut.DataType!); GlobalProvider.DataTypeProvider!.DataPortTypeCompatible(DataType!, dataOut.DataType!);
public DataCache GetData => Connected ? ConnectedPort!.OutData : DataCache.Null; public DataCache GetData => Connected ? ConnectedPort!.OutData : DataCache.Null;

View File

@@ -26,7 +26,7 @@ public partial class DataOutPort : DataPort, IDataOutPort
public override bool IsMatch(IBasePort other) => public override bool IsMatch(IBasePort other) =>
other is DataInPort inPort && other is DataInPort inPort &&
GlobalProvider.DataPackageTypeProvider!.DataPortTypeCompatible(inPort.DataType!, DataType!); GlobalProvider.DataTypeProvider!.DataPortTypeCompatible(inPort.DataType!, DataType!);
public override IBaseCable MakeCable(IBasePort other) public override IBaseCable MakeCable(IBasePort other)
{ {