diff --git a/Boards/OptimizationModuleBoard.cs b/Boards/OptimizationModuleBoard.cs index f797ee4..9c9d184 100644 --- a/Boards/OptimizationModuleBoard.cs +++ b/Boards/OptimizationModuleBoard.cs @@ -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; } diff --git a/Modules/BaseModule.cs b/Modules/BaseModule.cs index efa660d..8699d01 100644 --- a/Modules/BaseModule.cs +++ b/Modules/BaseModule.cs @@ -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; } } diff --git a/Modules/CompositeModule.cs b/Modules/CompositeModule.cs index e32f5a9..776587f 100644 --- a/Modules/CompositeModule.cs +++ b/Modules/CompositeModule.cs @@ -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().ToArray(); diff --git a/Modules/ComputationalModules/Binary/AdditionModule.cs b/Modules/ComputationalModules/Binary/AdditionModule.cs index a20da60..f34fce4 100644 --- a/Modules/ComputationalModules/Binary/AdditionModule.cs +++ b/Modules/ComputationalModules/Binary/AdditionModule.cs @@ -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; } diff --git a/Modules/ComputationalModules/Binary/ComparisionModule.cs b/Modules/ComputationalModules/Binary/ComparisionModule.cs index 0309408..e2ecb26 100644 --- a/Modules/ComputationalModules/Binary/ComparisionModule.cs +++ b/Modules/ComputationalModules/Binary/ComparisionModule.cs @@ -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 diff --git a/Modules/ComputationalModules/Binary/ControlledOutputModule.cs b/Modules/ComputationalModules/Binary/ControlledOutputModule.cs index ccc3778..3dd9da3 100644 --- a/Modules/ComputationalModules/Binary/ControlledOutputModule.cs +++ b/Modules/ComputationalModules/Binary/ControlledOutputModule.cs @@ -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; } diff --git a/Modules/ComputationalModules/Binary/DivisionModule.cs b/Modules/ComputationalModules/Binary/DivisionModule.cs index fc86ed4..54c3a25 100644 --- a/Modules/ComputationalModules/Binary/DivisionModule.cs +++ b/Modules/ComputationalModules/Binary/DivisionModule.cs @@ -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 { diff --git a/Modules/ComputationalModules/Binary/DotProductModule.cs b/Modules/ComputationalModules/Binary/DotProductModule.cs index 9aee267..adf6ed9 100644 --- a/Modules/ComputationalModules/Binary/DotProductModule.cs +++ b/Modules/ComputationalModules/Binary/DotProductModule.cs @@ -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; diff --git a/Modules/ComputationalModules/Binary/LogicalAlternativeDenialModule.cs b/Modules/ComputationalModules/Binary/LogicalAlternativeDenialModule.cs index d625ddc..1aaca0c 100644 --- a/Modules/ComputationalModules/Binary/LogicalAlternativeDenialModule.cs +++ b/Modules/ComputationalModules/Binary/LogicalAlternativeDenialModule.cs @@ -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() { diff --git a/Modules/ComputationalModules/Binary/LogicalBiconditionalModule.cs b/Modules/ComputationalModules/Binary/LogicalBiconditionalModule.cs index 67d753f..5a74b16 100644 --- a/Modules/ComputationalModules/Binary/LogicalBiconditionalModule.cs +++ b/Modules/ComputationalModules/Binary/LogicalBiconditionalModule.cs @@ -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() { diff --git a/Modules/ComputationalModules/Binary/LogicalConjunctionModule.cs b/Modules/ComputationalModules/Binary/LogicalConjunctionModule.cs index 73b128c..e5d1c4f 100644 --- a/Modules/ComputationalModules/Binary/LogicalConjunctionModule.cs +++ b/Modules/ComputationalModules/Binary/LogicalConjunctionModule.cs @@ -5,7 +5,7 @@ using Skeleton.DataStructure; namespace Enigmos.Modules.ComputationalModules.Binary; -public partial class LogicalConjunctionModule : BinaryLogicModule +public abstract partial class LogicalConjunctionModule : BinaryLogicModule { diff --git a/Modules/ComputationalModules/Binary/LogicalDisjunctionModule.cs b/Modules/ComputationalModules/Binary/LogicalDisjunctionModule.cs index e0fcd49..02a2149 100644 --- a/Modules/ComputationalModules/Binary/LogicalDisjunctionModule.cs +++ b/Modules/ComputationalModules/Binary/LogicalDisjunctionModule.cs @@ -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() diff --git a/Modules/ComputationalModules/Binary/LogicalExclusiveDisjunctionModule.cs b/Modules/ComputationalModules/Binary/LogicalExclusiveDisjunctionModule.cs index 1bc4aa2..cd60ae3 100644 --- a/Modules/ComputationalModules/Binary/LogicalExclusiveDisjunctionModule.cs +++ b/Modules/ComputationalModules/Binary/LogicalExclusiveDisjunctionModule.cs @@ -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() { diff --git a/Modules/ComputationalModules/Binary/LogicalImplicationModule.cs b/Modules/ComputationalModules/Binary/LogicalImplicationModule.cs index 498118e..e90ab8b 100644 --- a/Modules/ComputationalModules/Binary/LogicalImplicationModule.cs +++ b/Modules/ComputationalModules/Binary/LogicalImplicationModule.cs @@ -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() { diff --git a/Modules/ComputationalModules/Binary/LogicalJointDenialModule.cs b/Modules/ComputationalModules/Binary/LogicalJointDenialModule.cs index 1bdefca..ddb0e0c 100644 --- a/Modules/ComputationalModules/Binary/LogicalJointDenialModule.cs +++ b/Modules/ComputationalModules/Binary/LogicalJointDenialModule.cs @@ -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() { diff --git a/Modules/ComputationalModules/Binary/LogicalNonimplicationModule.cs b/Modules/ComputationalModules/Binary/LogicalNonimplicationModule.cs index c82b9f1..56ba4f7 100644 --- a/Modules/ComputationalModules/Binary/LogicalNonimplicationModule.cs +++ b/Modules/ComputationalModules/Binary/LogicalNonimplicationModule.cs @@ -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() { diff --git a/Modules/ComputationalModules/Binary/MaxModule.cs b/Modules/ComputationalModules/Binary/MaxModule.cs index 49324e8..c60820f 100644 --- a/Modules/ComputationalModules/Binary/MaxModule.cs +++ b/Modules/ComputationalModules/Binary/MaxModule.cs @@ -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() { diff --git a/Modules/ComputationalModules/Binary/MinModule.cs b/Modules/ComputationalModules/Binary/MinModule.cs index 604fa71..46aa620 100644 --- a/Modules/ComputationalModules/Binary/MinModule.cs +++ b/Modules/ComputationalModules/Binary/MinModule.cs @@ -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() { diff --git a/Modules/ComputationalModules/Binary/MultiplicationModule.cs b/Modules/ComputationalModules/Binary/MultiplicationModule.cs index 64b7b8a..f804559 100644 --- a/Modules/ComputationalModules/Binary/MultiplicationModule.cs +++ b/Modules/ComputationalModules/Binary/MultiplicationModule.cs @@ -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; } diff --git a/Modules/ComputationalModules/Binary/PowerModule.cs b/Modules/ComputationalModules/Binary/PowerModule.cs index f11a401..4a632ee 100644 --- a/Modules/ComputationalModules/Binary/PowerModule.cs +++ b/Modules/ComputationalModules/Binary/PowerModule.cs @@ -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); } \ No newline at end of file diff --git a/Modules/ComputationalModules/Binary/ScalarDivisionModule.cs b/Modules/ComputationalModules/Binary/ScalarDivisionModule.cs index 5bb61a9..69446af 100644 --- a/Modules/ComputationalModules/Binary/ScalarDivisionModule.cs +++ b/Modules/ComputationalModules/Binary/ScalarDivisionModule.cs @@ -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; } diff --git a/Modules/ComputationalModules/Binary/ScalarMultiplicationModule.cs b/Modules/ComputationalModules/Binary/ScalarMultiplicationModule.cs index 21cb18e..ee75115 100644 --- a/Modules/ComputationalModules/Binary/ScalarMultiplicationModule.cs +++ b/Modules/ComputationalModules/Binary/ScalarMultiplicationModule.cs @@ -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; } diff --git a/Modules/ComputationalModules/Binary/SubtractionModule.cs b/Modules/ComputationalModules/Binary/SubtractionModule.cs index 2714f19..51aa9d9 100644 --- a/Modules/ComputationalModules/Binary/SubtractionModule.cs +++ b/Modules/ComputationalModules/Binary/SubtractionModule.cs @@ -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 { diff --git a/Modules/ComputationalModules/Binary/V2Module.cs b/Modules/ComputationalModules/Binary/V2Module.cs index d09be34..40ef447 100644 --- a/Modules/ComputationalModules/Binary/V2Module.cs +++ b/Modules/ComputationalModules/Binary/V2Module.cs @@ -13,7 +13,7 @@ using C2 = Skeleton.Algebra.CategoryOf - ScalarOutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider! + ScalarOutputGroup!.SelectedType = GlobalProvider.DataTypeProvider! .GetBaseField(VectorInputGroup!.SelectedType); } \ No newline at end of file diff --git a/Modules/ControllingModules/ActionModules/AttackActionModule.cs b/Modules/ControllingModules/ActionModules/AttackActionModule.cs index 92b1790..3b19a18 100644 --- a/Modules/ControllingModules/ActionModules/AttackActionModule.cs +++ b/Modules/ControllingModules/ActionModules/AttackActionModule.cs @@ -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(); diff --git a/Modules/ControllingModules/ActionModules/MoveActionModule.cs b/Modules/ControllingModules/ActionModules/MoveActionModule.cs index 294842c..2664d58 100644 --- a/Modules/ControllingModules/ActionModules/MoveActionModule.cs +++ b/Modules/ControllingModules/ActionModules/MoveActionModule.cs @@ -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(); diff --git a/Modules/ControllingModules/RootModule.cs b/Modules/ControllingModules/RootModule.cs index 20b623d..a2a80fc 100644 --- a/Modules/ControllingModules/RootModule.cs +++ b/Modules/ControllingModules/RootModule.cs @@ -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; } diff --git a/Modules/ControllingModules/SinglePoleDoubleThrowSwitchModule.cs b/Modules/ControllingModules/SinglePoleDoubleThrowSwitchModule.cs index 96f39af..b8ea9a2 100644 --- a/Modules/ControllingModules/SinglePoleDoubleThrowSwitchModule.cs +++ b/Modules/ControllingModules/SinglePoleDoubleThrowSwitchModule.cs @@ -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 ConfigurableParameters { get; set; } = new(); private IBoolParameter? LeftPortForTrue { get; set; } diff --git a/Modules/ControllingModules/SinglePoleSingleThrowSwitchModule.cs b/Modules/ControllingModules/SinglePoleSingleThrowSwitchModule.cs index a504784..bf8d855 100644 --- a/Modules/ControllingModules/SinglePoleSingleThrowSwitchModule.cs +++ b/Modules/ControllingModules/SinglePoleSingleThrowSwitchModule.cs @@ -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(); diff --git a/Modules/ProgrammableModules/FilterModule/FilterModule.cs b/Modules/ProgrammableModules/FilterModule/FilterModule.cs index b405565..c2999cc 100644 --- a/Modules/ProgrammableModules/FilterModule/FilterModule.cs +++ b/Modules/ProgrammableModules/FilterModule/FilterModule.cs @@ -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 diff --git a/Modules/ProgrammableModules/FunctionModule/FunctionModule.cs b/Modules/ProgrammableModules/FunctionModule/FunctionModule.cs index f9d2163..e095bed 100644 --- a/Modules/ProgrammableModules/FunctionModule/FunctionModule.cs +++ b/Modules/ProgrammableModules/FunctionModule/FunctionModule.cs @@ -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(); private IDataPortGroup[] InteriorToExterior { get; set; } = Array.Empty(); diff --git a/Modules/ProgrammableModules/OptimizationModule/OptimizationModule.cs b/Modules/ProgrammableModules/OptimizationModule/OptimizationModule.cs index 212cd69..33117ab 100644 --- a/Modules/ProgrammableModules/OptimizationModule/OptimizationModule.cs +++ b/Modules/ProgrammableModules/OptimizationModule/OptimizationModule.cs @@ -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); } diff --git a/Modules/SubModules/SubModule.cs b/Modules/SubModules/SubModule.cs index 3858e88..e9f03c4 100644 --- a/Modules/SubModules/SubModule.cs +++ b/Modules/SubModules/SubModule.cs @@ -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; } diff --git a/Modules/TerminalModules/EngineModule.cs b/Modules/TerminalModules/EngineModule.cs index d1902ba..113b816 100644 --- a/Modules/TerminalModules/EngineModule.cs +++ b/Modules/TerminalModules/EngineModule.cs @@ -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; } diff --git a/Modules/TerminalModules/MemoryModule.cs b/Modules/TerminalModules/MemoryModule.cs index 3c7e0fe..287afa6 100644 --- a/Modules/TerminalModules/MemoryModule.cs +++ b/Modules/TerminalModules/MemoryModule.cs @@ -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; } diff --git a/Modules/TerminalModules/SRLatchModule.cs b/Modules/TerminalModules/SRLatchModule.cs index de15b7f..1668678 100644 --- a/Modules/TerminalModules/SRLatchModule.cs +++ b/Modules/TerminalModules/SRLatchModule.cs @@ -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, diff --git a/Modules/TerminalModules/TestingModules/LightEmittingDiodeModule.cs b/Modules/TerminalModules/TestingModules/LightEmittingDiodeModule.cs index 4a8504e..b07758b 100644 --- a/Modules/TerminalModules/TestingModules/LightEmittingDiodeModule.cs +++ b/Modules/TerminalModules/TestingModules/LightEmittingDiodeModule.cs @@ -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; } diff --git a/Modules/TerminalModules/TestingModules/R2ReaderModule.cs b/Modules/TerminalModules/TestingModules/R2ReaderModule.cs index 82e4db7..a30fe86 100644 --- a/Modules/TerminalModules/TestingModules/R2ReaderModule.cs +++ b/Modules/TerminalModules/TestingModules/R2ReaderModule.cs @@ -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; } diff --git a/Modules/TerminalModules/TestingModules/RealReaderModule.cs b/Modules/TerminalModules/TestingModules/RealReaderModule.cs index 37f1409..d29a82b 100644 --- a/Modules/TerminalModules/TestingModules/RealReaderModule.cs +++ b/Modules/TerminalModules/TestingModules/RealReaderModule.cs @@ -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(); diff --git a/Ports/DataPorts/DataInPort.cs b/Ports/DataPorts/DataInPort.cs index 5e6ce4d..00c49cc 100644 --- a/Ports/DataPorts/DataInPort.cs +++ b/Ports/DataPorts/DataInPort.cs @@ -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; diff --git a/Ports/DataPorts/DataOutPort.cs b/Ports/DataPorts/DataOutPort.cs index dfaf40f..2ae9132 100644 --- a/Ports/DataPorts/DataOutPort.cs +++ b/Ports/DataPorts/DataOutPort.cs @@ -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) {