source generator upgrade
This commit is contained in:
@@ -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; }
|
||||||
|
|||||||
@@ -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; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -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>();
|
||||||
|
|||||||
@@ -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>();
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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>();
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>();
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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>();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user