This commit is contained in:
h z
2024-07-12 14:32:16 +01:00
parent f59c6edc39
commit 574d00d4b7
29 changed files with 130 additions and 43 deletions

View File

@@ -13,6 +13,7 @@ public static class GlobalProvider
public static ISceneProvider SceneProvider { get; set; }
public static IPolymorphismProvider PolymorphismProvider { get; set; }
public static IDataTypeProvider DataTypeProvider { get; set; }
public static IProcessProvider ProcessProvider { get; set; }
public static class ModulePreviewMapper<TModule>
where TModule : IBaseModule

View File

@@ -14,11 +14,11 @@ public interface IDataStructureProvider
Variant NewVariantWithType(string type, Variant a);
IBoolParameter NewBoolParameter(string d, string t, string f, bool def);
IDataPortGroup NewDataPortGroup(IBaseModule m, IDataPort[] pts, string desc, DataType defType, DataTypeOption typeOpts);
IDataPortGroup NewDataPortGroup(IPolymorphismModule m, IDataPort[] pts, string desc, DataType defType, DataTypeOption typeOpts);
IDataInGroup NewDataInGroup(IBaseModule m, IDataInPort[] pts, string desc, DataType defType, DataTypeOption typeOpts);
IDataInGroup NewDataInGroup(IPolymorphismModule m, IDataInPort[] pts, string desc, DataType defType, DataTypeOption typeOpts);
IDataOutGroup NewDataOutGroup(IBaseModule m, IDataOutPort[] pts, string desc, DataType defType, DataTypeOption typeOpts);
IDataOutGroup NewDataOutGroup(IPolymorphismModule m, IDataOutPort[] pts, string desc, DataType defType, DataTypeOption typeOpts);
IDoubleParameter NewDoubleParameter(string name, double min, double max, double def);
IKeyParameter NewKeyParameter(string a, string b);

View File

@@ -6,8 +6,8 @@ public interface IDataTypeProvider
{
bool IsComplexTensorType(DataType type);
DataType ComplexVersionOf(DataType type);
DataType BuildType(DataType nType, int i, int j);
DataType GetBaseField(DataType type);
bool DataPortTypeCompatible(DataType inType, DataType outType);
DataType ToElement(DataType arrayType);
DataType ToVector(DataType scalarType);
}

View File

@@ -5,18 +5,16 @@ namespace Nocturnis.GlobalManagement.Providers;
public interface IEnigmosProvider
{
Texture2D DataPortStatusNormal { get; set; }
Texture2D DataPortStatusPending { get; set; }
Texture2D DataPortStatusConnected { get; set; }
AnimatedTexture DataPortStatusNormal { get; set; }
AnimatedTexture DataPortStatusPending { get; set; }
AnimatedTexture DataPortStatusConnected { get; set; }
Texture2D SignalPortStatusNormal { get; set; }
Texture2D SignalPortStatusPending { get; set; }
Texture2D SignalPortStatusConnected { get; set; }
AnimatedTexture SignalPortStatusNormal { get; set; }
AnimatedTexture SignalPortStatusPending { get; set; }
AnimatedTexture SignalPortStatusConnected { get; set; }
PackedScene SignalCableScene { get; set; }
PackedScene DataCableScene { get; set; }
Dictionary<DataType, Texture2D> DataPortTypeMap { get; set; }
bool CommunicationDirectionCompatible(StringName moduleDir, StringName communicatorDir);
string ModuleDescription<T>();

View File

@@ -0,0 +1,20 @@
using Nocturnis.DataStructures.ConfigurableParameters;
using Nocturnis.Enigmos.ModuleManuals;
using Nocturnis.Enigmos.Modules;
namespace Nocturnis.GlobalManagement.Providers;
public interface IProcessProvider
{
void BuildManual(IBaseModule module);
IModuleManualTab BuildPortMaintenanceTab(IBaseModule module);
IModuleManualTab BuildModulePolymorphismTab(IPolymorphismModule module);
IModuleManualTab BuildModuleParameterTab(IParameterizedModule module);
IModuleManualTab BuildCommunicatorPairTab(ICommunicateModule module);
IModuleManualTab BuildProgrammableModuleSettingTab(IProgrammableModule module);
IModuleManualTab BuildErrorHandlerTab(IErrorHandlerModule module);
IModuleParameterSetter BuildModuleRealValueParameterSetter(IDoubleParameter para);
IModuleParameterSetter BuildModuleBoolValueParameterSetter(IBoolParameter para);
IModuleParameterSetter BuildModuleCharValueParameterSetter(ICharParameter para);
IModuleParameterSetter BuildModuleKeyValueParameterSetter(IKeyParameter para);
}