source generator upgrade
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
using Enigmos.Modules.InterlayerModules;
|
||||
using Enigmos.Modules.ProgrammableModules.OptimizationModule;
|
||||
using Nocturnis;
|
||||
using Nocturnis.Attributes;
|
||||
|
||||
namespace Enigmos.Boards;
|
||||
[UniqueInheritance]
|
||||
|
||||
public partial class OptimizationModuleBoard : BaseBoard, ISceneConcept
|
||||
{
|
||||
public OptimizationModule? OptimizationModule { get; set; }
|
||||
|
||||
@@ -153,6 +153,6 @@ public abstract partial class BaseModule : TextureRect, IBaseModule
|
||||
base._Input(@event);
|
||||
}
|
||||
|
||||
public Texture2D PreviewTexture => GlobalProvider.TextureProvider.ModuleTextureMapper(this);
|
||||
|
||||
//public Texture2D PreviewTexture => GlobalProvider.TextureProvider.ModuleTextureMapper(this);
|
||||
public abstract Texture2D PreviewTexture { get; }
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ using Nocturnis.Enigmos.Ports;
|
||||
|
||||
namespace Enigmos.Modules;
|
||||
|
||||
public partial class CompositeModule : BaseModule, ICompositeModule
|
||||
public abstract partial class CompositeModule : BaseModule, ICompositeModule
|
||||
{
|
||||
public IBaseModule[] SubModules => GetChildren().OfType<IBaseModule>().ToArray();
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
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 IDataOutGroup? OutputGroup { get; set; }
|
||||
|
||||
@@ -7,7 +7,7 @@ using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class ComparisionModule : BinaryComputationalModule,
|
||||
public abstract partial class ComparisionModule : BinaryComputationalModule,
|
||||
IParameterizedModule,
|
||||
IDuplicateOutputModule,
|
||||
IOperationModule
|
||||
|
||||
@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
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; }
|
||||
private IDataOutGroup? OutputGroup { get; set; }
|
||||
|
||||
@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class DivisionModule : BinaryComputationalModule,
|
||||
public abstract partial class DivisionModule : BinaryComputationalModule,
|
||||
IPolymorphismModule,
|
||||
IDuplicateOutputModule
|
||||
{
|
||||
|
||||
@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
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 IDataOutGroup? OutputGroup { get; set; }
|
||||
@@ -46,7 +46,7 @@ public partial class DotProductModule : BinaryComputationalModule, IPolymorphism
|
||||
|
||||
public void Inference()
|
||||
{
|
||||
if (GlobalProvider.DataPackageTypeProvider!.IsComplexTensorType(VectorInputGroup!.SelectedType))
|
||||
if (GlobalProvider.DataTypeProvider!.IsComplexTensorType(VectorInputGroup!.SelectedType))
|
||||
OutputGroup!.SelectedType = EnigmosConstant.DataPortTypes.Complex;
|
||||
else
|
||||
OutputGroup!.SelectedType = EnigmosConstant.DataPortTypes.Real;
|
||||
|
||||
@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class LogicalAlternativeDenialModule : BinaryLogicModule
|
||||
public abstract partial class LogicalAlternativeDenialModule : BinaryLogicModule
|
||||
{
|
||||
public override void Define()
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class LogicalBiconditionalModule : BinaryLogicModule
|
||||
public abstract partial class LogicalBiconditionalModule : BinaryLogicModule
|
||||
{
|
||||
public override void Define()
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class LogicalConjunctionModule : BinaryLogicModule
|
||||
public abstract partial class LogicalConjunctionModule : BinaryLogicModule
|
||||
{
|
||||
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class LogicalDisjunctionModule : BinaryLogicModule
|
||||
public abstract partial class LogicalDisjunctionModule : BinaryLogicModule
|
||||
{
|
||||
|
||||
public override void Define()
|
||||
|
||||
@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class LogicalExclusiveDisjunctionModule : BinaryLogicModule
|
||||
public abstract partial class LogicalExclusiveDisjunctionModule : BinaryLogicModule
|
||||
{
|
||||
public override void Define()
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using Nocturnis.GlobalManagement.Constants;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class LogicalImplicationModule : BinaryLogicModule
|
||||
public abstract partial class LogicalImplicationModule : BinaryLogicModule
|
||||
{
|
||||
public override void Define()
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using Nocturnis.GlobalManagement.Constants;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class LogicalJointDenialModule : BinaryLogicModule
|
||||
public abstract partial class LogicalJointDenialModule : BinaryLogicModule
|
||||
{
|
||||
public override void Define()
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class LogicalNonimplicationModule : BinaryLogicModule
|
||||
public abstract partial class LogicalNonimplicationModule : BinaryLogicModule
|
||||
{
|
||||
public override void Define()
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class MaxModule : BinaryComputationalModule, IOperationModule, IDuplicateOutputModule
|
||||
public abstract partial class MaxModule : BinaryComputationalModule, IOperationModule, IDuplicateOutputModule
|
||||
{
|
||||
public override void Init()
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class MinModule : BinaryComputationalModule, IDuplicateOutputModule, IOperationModule
|
||||
public abstract partial class MinModule : BinaryComputationalModule, IDuplicateOutputModule, IOperationModule
|
||||
{
|
||||
public override void Init()
|
||||
{
|
||||
|
||||
@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
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? OutputGroup { get; set; }
|
||||
|
||||
@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
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? OutputGroup { get; set; }
|
||||
@@ -46,6 +46,6 @@ public partial class PowerModule : BinaryComputationalModule, IPolymorphismModul
|
||||
}
|
||||
|
||||
public void Inference() =>
|
||||
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider!.ComplexVersionOf(TensorInputGroup!.SelectedType);
|
||||
OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider!.ComplexVersionOf(TensorInputGroup!.SelectedType);
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class ScalarDivisionModule : BinaryComputationalModule,
|
||||
public abstract partial class ScalarDivisionModule : BinaryComputationalModule,
|
||||
IPolymorphismModule,
|
||||
IDuplicateOutputModule
|
||||
{
|
||||
@@ -60,8 +60,8 @@ public partial class ScalarDivisionModule : BinaryComputationalModule,
|
||||
|
||||
public void Inference()
|
||||
{
|
||||
if (GlobalProvider.DataPackageTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType))
|
||||
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
|
||||
if (GlobalProvider.DataTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType))
|
||||
OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
|
||||
else
|
||||
OutputGroup!.SelectedType = TensorInputGroup!.SelectedType;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class ScalarMultiplicationModule :
|
||||
public abstract partial class ScalarMultiplicationModule :
|
||||
BinaryComputationalModule,
|
||||
IPolymorphismModule,
|
||||
IDuplicateOutputModule
|
||||
@@ -60,10 +60,10 @@ public partial class ScalarMultiplicationModule :
|
||||
public void Inference()
|
||||
{
|
||||
if (
|
||||
GlobalProvider.DataPackageTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType) ||
|
||||
GlobalProvider.DataPackageTypeProvider.IsComplexTensorType(TensorInputGroup!.SelectedType)
|
||||
GlobalProvider.DataTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType) ||
|
||||
GlobalProvider.DataTypeProvider.IsComplexTensorType(TensorInputGroup!.SelectedType)
|
||||
)
|
||||
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
|
||||
OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
|
||||
else
|
||||
OutputGroup!.SelectedType = TensorInputGroup.SelectedType;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class SubtractionModule : BinaryComputationalModule,
|
||||
public abstract partial class SubtractionModule : BinaryComputationalModule,
|
||||
IPolymorphismModule,
|
||||
IDuplicateOutputModule
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@ using C2 = Skeleton.Algebra.CategoryOf<Skeleton.Algebra.DimensionProviders.IDim2
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Binary;
|
||||
|
||||
public partial class V2Module : BinaryComputationalModule,
|
||||
public abstract partial class V2Module : BinaryComputationalModule,
|
||||
IPolymorphismModule,
|
||||
IDuplicateOutputModule
|
||||
{
|
||||
@@ -62,7 +62,7 @@ public partial class V2Module : BinaryComputationalModule,
|
||||
|
||||
public void Inference()
|
||||
{
|
||||
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider!.BuildType(OutputGroup.SelectedType, 1, 2);
|
||||
OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider!.BuildType(OutputGroup.SelectedType, 1, 2);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
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; }
|
||||
|
||||
@@ -9,7 +9,7 @@ using Nocturnis.GlobalManagement.Providers;
|
||||
using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Nullary;
|
||||
public partial class KeyListenerModule : NullaryComputationalModule,
|
||||
public abstract partial class KeyListenerModule : NullaryComputationalModule,
|
||||
IParameterizedModule,
|
||||
IKeyListenerModule,
|
||||
IDuplicateOutputModule
|
||||
|
||||
@@ -11,7 +11,7 @@ using Skeleton.Utils.RandomEngines;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Nullary;
|
||||
|
||||
public partial class NormalDistributionModule : NullaryComputationalModule,
|
||||
public abstract partial class NormalDistributionModule : NullaryComputationalModule,
|
||||
IParameterizedModule,
|
||||
IDuplicateOutputModule
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Ternary;
|
||||
|
||||
public partial class SelectorModule : TernaryComputationalModule,
|
||||
public abstract partial class SelectorModule : TernaryComputationalModule,
|
||||
ITernaryComputationalModule,
|
||||
IPolymorphismModule,
|
||||
IDuplicateOutputModule
|
||||
|
||||
@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Providers;
|
||||
using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Unary;
|
||||
public partial class CopyModule : UnaryComputationalModule,
|
||||
public abstract partial class CopyModule : UnaryComputationalModule,
|
||||
IPolymorphismModule,
|
||||
IDuplicateOutputModule
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
namespace Enigmos.Modules.ComputationalModules.Unary;
|
||||
|
||||
public partial class LogicalNegationModule : UnaryComputationalModule, IDuplicateOutputModule
|
||||
public abstract partial class LogicalNegationModule : UnaryComputationalModule, IDuplicateOutputModule
|
||||
{
|
||||
public override void Init()
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
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; }
|
||||
|
||||
@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
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? OutputGroup { get; set; }
|
||||
|
||||
@@ -11,7 +11,7 @@ using Skeleton.DataStructure;
|
||||
|
||||
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? ScalarOutputGroup { get; set; }
|
||||
@@ -62,7 +62,7 @@ public partial class V2ComponentModule : UnaryComputationalModule, IPolymorphism
|
||||
}
|
||||
|
||||
public void Inference() =>
|
||||
ScalarOutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider!
|
||||
ScalarOutputGroup!.SelectedType = GlobalProvider.DataTypeProvider!
|
||||
.GetBaseField(VectorInputGroup!.SelectedType);
|
||||
|
||||
}
|
||||
@@ -5,7 +5,7 @@ using Nocturnis.GlobalManagement.Constants;
|
||||
using Nocturnis.GlobalManagement.Controls;
|
||||
|
||||
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>();
|
||||
|
||||
@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Controls;
|
||||
|
||||
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>();
|
||||
|
||||
@@ -5,7 +5,7 @@ using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
|
||||
|
||||
namespace Enigmos.Modules.ControllingModules;
|
||||
public partial class RootModule : BaseModule, IRootModule
|
||||
public abstract partial class RootModule : BaseModule, IRootModule
|
||||
{
|
||||
public bool ActionFinished { get; set; }
|
||||
public IBaseCreature? ManagedBy { get; set; }
|
||||
|
||||
@@ -9,7 +9,7 @@ using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
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();
|
||||
private IBoolParameter? LeftPortForTrue { get; set; }
|
||||
|
||||
@@ -6,7 +6,7 @@ using Nocturnis.GlobalManagement.Controls;
|
||||
|
||||
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>();
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
namespace Enigmos.Modules.ProgrammableModules.FilterModule;
|
||||
|
||||
public partial class FilterModule : ProgrammableModule,
|
||||
public abstract partial class FilterModule : ProgrammableModule,
|
||||
IPolymorphismModule,
|
||||
IInternalComputationalModule,
|
||||
IEnumerableProcessingModule
|
||||
|
||||
@@ -10,7 +10,7 @@ using Nocturnis.GlobalManagement.Constants;
|
||||
using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
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[] InteriorToExterior { get; set; } = Array.Empty<IDataPortGroup>();
|
||||
|
||||
@@ -15,7 +15,7 @@ using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
namespace Enigmos.Modules.ProgrammableModules.OptimizationModule;
|
||||
|
||||
public partial class OptimizationModule : ProgrammableModule,
|
||||
public abstract partial class OptimizationModule : ProgrammableModule,
|
||||
IPolymorphismModule,
|
||||
IParameterizedModule,
|
||||
IInternalComputationalModule,
|
||||
@@ -125,7 +125,7 @@ public partial class OptimizationModule : ProgrammableModule,
|
||||
|
||||
public void Inference()
|
||||
{
|
||||
StringName elementType = GlobalProvider.DataPackageTypeProvider!.ToElement(OptimizationGroup!.SelectedType);
|
||||
StringName elementType = GlobalProvider.DataTypeProvider!.ToElement(OptimizationGroup!.SelectedType);
|
||||
Output!.Out!.SetDataType(elementType);
|
||||
UnderlyingBoard.InputProvider!.Output!.SetDataType(elementType);
|
||||
}
|
||||
|
||||
@@ -10,4 +10,5 @@ public class SubModule : BaseModule
|
||||
base.PositionToBoard + (ParentModule?.PositionToBoard ?? Vector2.Zero);
|
||||
protected sealed override bool Draggable => false;
|
||||
protected sealed override bool HasManual => false;
|
||||
public override Texture2D? PreviewTexture => null;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ using Skeleton.Utils.Helpers;
|
||||
using VirtualChemistry.Chemistry.Mixtures.Implements;
|
||||
|
||||
namespace Enigmos.Modules.TerminalModules;
|
||||
public partial class EngineModule : TerminalModule
|
||||
public abstract partial class EngineModule : TerminalModule
|
||||
{
|
||||
protected override bool Draggable => false;
|
||||
public DataInPort? Throttle { get; set; }
|
||||
|
||||
@@ -10,7 +10,7 @@ using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
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 IDataPortGroup? MemoryPortGroup { get; set; }
|
||||
|
||||
@@ -6,7 +6,7 @@ using Nocturnis.GlobalManagement.Constants;
|
||||
|
||||
namespace Enigmos.Modules.TerminalModules;
|
||||
|
||||
public partial class SRLatchModule : BaseModule,
|
||||
public abstract partial class SRLatchModule : BaseModule,
|
||||
ITerminalModule,
|
||||
ISourceModule,
|
||||
IDuplicateOutputModule,
|
||||
|
||||
@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Constants;
|
||||
|
||||
namespace Enigmos.Modules.TerminalModules.TestingModules;
|
||||
|
||||
public partial class LightEmittingDiodeModule : TerminalModule
|
||||
public abstract partial class LightEmittingDiodeModule : TerminalModule
|
||||
{
|
||||
private Sprite2D? LightEmittingDiode { get; set; }
|
||||
private IDataInPort? Input { get; set; }
|
||||
|
||||
@@ -6,7 +6,7 @@ using Nocturnis.GlobalManagement.Constants;
|
||||
|
||||
namespace Enigmos.Modules.TerminalModules.TestingModules;
|
||||
|
||||
public partial class R2ReaderModule : TerminalModule
|
||||
public abstract partial class R2ReaderModule : TerminalModule
|
||||
{
|
||||
private DataInPort? DataIn { get; set; }
|
||||
private R2Reader? R2Reader { get; set; }
|
||||
|
||||
@@ -8,7 +8,7 @@ using Skeleton.Utils.Helpers;
|
||||
|
||||
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; }
|
||||
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();
|
||||
|
||||
@@ -15,7 +15,7 @@ public partial class DataInPort : DataPort, IDataInPort
|
||||
|
||||
public override bool IsMatch(IBasePort other) =>
|
||||
other is DataOutPort dataOut &&
|
||||
GlobalProvider.DataPackageTypeProvider!.DataPortTypeCompatible(DataType!, dataOut.DataType!);
|
||||
GlobalProvider.DataTypeProvider!.DataPortTypeCompatible(DataType!, dataOut.DataType!);
|
||||
|
||||
public DataCache GetData => Connected ? ConnectedPort!.OutData : DataCache.Null;
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ public partial class DataOutPort : DataPort, IDataOutPort
|
||||
|
||||
public override bool IsMatch(IBasePort other) =>
|
||||
other is DataInPort inPort &&
|
||||
GlobalProvider.DataPackageTypeProvider!.DataPortTypeCompatible(inPort.DataType!, DataType!);
|
||||
GlobalProvider.DataTypeProvider!.DataPortTypeCompatible(inPort.DataType!, DataType!);
|
||||
|
||||
public override IBaseCable MakeCable(IBasePort other)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user