Update
This commit is contained in:
@@ -9,12 +9,12 @@ namespace Nocturnis.DataStructures;
|
|||||||
|
|
||||||
public class DataCache : CacheItem<DataVariable>
|
public class DataCache : CacheItem<DataVariable>
|
||||||
{
|
{
|
||||||
public new static DataCache Null => new (x => (0, GlobalProvider.DataStructureProvider!.NullDataType));
|
public new static DataCache Null => new (x => (null, DataTypeConstant.BaseDataTypes.Null));
|
||||||
public DataCache(Func<CacheItem, DataVariable> rec) : base(rec) => throw new Exception("CONSTRUCTION NOT ALLOWED");
|
public DataCache(Func<CacheItem, DataVariable> rec) : base(rec) => throw new Exception("CONSTRUCTION NOT ALLOWED");
|
||||||
|
|
||||||
public DataCache(Func<CacheItem, (object, DataType)> rec)
|
public DataCache(Func<CacheItem, (object, DataType)> rec)
|
||||||
{
|
{
|
||||||
Value = GlobalProvider.DataStructureProvider!.NewData(0, DataTypeConstant.BaseDataTypes.Null);
|
Value = new DataVariable();
|
||||||
ProxyCalculator = rec;
|
ProxyCalculator = rec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -94,13 +94,15 @@ public class DataType
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool operator ==(DataType a, DataType b) => a.Signature == b.Signature;
|
public static bool operator ==(DataType a, DataType b) => a?.Signature == b?.Signature;
|
||||||
|
|
||||||
public static bool operator !=(DataType a, DataType b) => a.Signature != b.Signature;
|
public static bool operator !=(DataType a, DataType b) => a?.Signature != b?.Signature;
|
||||||
|
|
||||||
public void Assign(DataType oth)
|
public void Assign(DataType oth)
|
||||||
{
|
{
|
||||||
Type = oth.Type;
|
Type = oth.Type;
|
||||||
|
if (ElementType == null)
|
||||||
|
ElementType = new();
|
||||||
ElementType.Assign(oth.ElementType);
|
ElementType.Assign(oth.ElementType);
|
||||||
StructName = oth.StructName;
|
StructName = oth.StructName;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,6 @@ public static class EBaseModule
|
|||||||
return port;
|
return port;
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new Exception("NOT A PORT");
|
throw new Exception($"NOT A PORT {typeof(TPort)}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using Godot;
|
using Godot;
|
||||||
using Nocturnis.DataStructures.Data;
|
|
||||||
using Nocturnis.DataStructures.DataTypes;
|
using Nocturnis.DataStructures.DataTypes;
|
||||||
using Nocturnis.Enigmos.Modules;
|
using Nocturnis.Enigmos.Modules;
|
||||||
using Nocturnis.Inventories.Items;
|
using Nocturnis.Inventories.Items;
|
||||||
@@ -8,23 +7,23 @@ namespace Nocturnis.GlobalManagement.Providers;
|
|||||||
|
|
||||||
public static class GlobalProvider
|
public static class GlobalProvider
|
||||||
{
|
{
|
||||||
public static IEnigmosProvider? EnigmosProvider { get; set; }
|
public static IEnigmosProvider EnigmosProvider { get; set; }
|
||||||
public static IDataStructureProvider? DataStructureProvider { get; set; }
|
public static IDataStructureProvider DataStructureProvider { get; set; }
|
||||||
public static IUIProvider? UIProvider { get; set; }
|
public static IUIProvider UIProvider { get; set; }
|
||||||
public static ISceneProvider? SceneProvider { get; set; }
|
public static ISceneProvider SceneProvider { get; set; }
|
||||||
public static IPolymorphismProvider? PolymorphismProvider { get; set; }
|
public static IPolymorphismProvider PolymorphismProvider { get; set; }
|
||||||
public static IDataTypeProvider? DataTypeProvider { get; set; }
|
public static IDataTypeProvider DataTypeProvider { get; set; }
|
||||||
|
|
||||||
public static class ModulePreviewMapper<TModule>
|
public static class ModulePreviewMapper<TModule>
|
||||||
where TModule : IBaseModule
|
where TModule : IBaseModule
|
||||||
{
|
{
|
||||||
public static Texture2D? Preview { get; set; }
|
public static Texture2D Preview { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ItemIconMapper<TItem>
|
public static class ItemIconMapper<TItem>
|
||||||
where TItem : IBaseItem
|
where TItem : IBaseItem
|
||||||
{
|
{
|
||||||
public static Texture2D? Texture { get; set; }
|
public static Texture2D Texture { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class AssetMapper<T>
|
public static class AssetMapper<T>
|
||||||
@@ -34,16 +33,7 @@ public static class GlobalProvider
|
|||||||
|
|
||||||
public static readonly Dictionary<string, PackedScene> SceneNameMapper = new();
|
public static readonly Dictionary<string, PackedScene> SceneNameMapper = new();
|
||||||
|
|
||||||
public static Font? Font { get; set; }
|
public static Font Font { get; set; }
|
||||||
|
|
||||||
public static class DataTypes
|
public static readonly Dictionary<StringName, Texture2D> DataTypeTexture = new();
|
||||||
{
|
|
||||||
public static DataType Null { get; set; }
|
|
||||||
public static DataType Bit { get; set; }
|
|
||||||
public static DataType Real { get; set; }
|
|
||||||
public static DataType Complex { get; set; }
|
|
||||||
public static DataType R2 { get; set; }
|
|
||||||
public static DataType C2 { get; set; }
|
|
||||||
public static DataType Int { get; set; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
using Godot;
|
using Godot;
|
||||||
using Nocturnis.DataStructures;
|
|
||||||
using Nocturnis.DataStructures.ConfigurableParameters;
|
using Nocturnis.DataStructures.ConfigurableParameters;
|
||||||
using Nocturnis.DataStructures.Data;
|
|
||||||
using Nocturnis.DataStructures.DataPortGroups;
|
using Nocturnis.DataStructures.DataPortGroups;
|
||||||
using Nocturnis.DataStructures.DataTypeOptions;
|
using Nocturnis.DataStructures.DataTypeOptions;
|
||||||
using Nocturnis.DataStructures.DataTypes;
|
using Nocturnis.DataStructures.DataTypes;
|
||||||
@@ -13,7 +11,6 @@ namespace Nocturnis.GlobalManagement.Providers;
|
|||||||
|
|
||||||
public interface IDataStructureProvider
|
public interface IDataStructureProvider
|
||||||
{
|
{
|
||||||
DataType NullDataType { get; }
|
|
||||||
Variant NewVariantWithType(string type, Variant a);
|
Variant NewVariantWithType(string type, Variant a);
|
||||||
IBoolParameter NewBoolParameter(string d, string t, string f, bool def);
|
IBoolParameter NewBoolParameter(string d, string t, string f, bool def);
|
||||||
|
|
||||||
@@ -23,11 +20,6 @@ public interface IDataStructureProvider
|
|||||||
|
|
||||||
IDataOutGroup NewDataOutGroup(IBaseModule m, IDataOutPort[] pts, string desc, DataType defType, DataTypeOption typeOpts);
|
IDataOutGroup NewDataOutGroup(IBaseModule m, IDataOutPort[] pts, string desc, DataType defType, DataTypeOption typeOpts);
|
||||||
|
|
||||||
DataVariable NewData(object data, DataType type);
|
|
||||||
|
|
||||||
IDoubleParameter NewDoubleParameter(string name, double min, double max, double def);
|
IDoubleParameter NewDoubleParameter(string name, double min, double max, double def);
|
||||||
IKeyParameter NewKeyParameter(string a, string b);
|
IKeyParameter NewKeyParameter(string a, string b);
|
||||||
DataVariable NullData { get; }
|
|
||||||
DataVariable DefaultData { get; }
|
|
||||||
StringName ArrayToElement(StringName arrayType);
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
using Godot;
|
|
||||||
using Nocturnis.DataStructures.DataTypes;
|
using Nocturnis.DataStructures.DataTypes;
|
||||||
|
|
||||||
namespace Nocturnis.GlobalManagement.Providers;
|
namespace Nocturnis.GlobalManagement.Providers;
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
using Godot;
|
|
||||||
using Nocturnis.DataStructures;
|
|
||||||
using Nocturnis.DataStructures.Data;
|
using Nocturnis.DataStructures.Data;
|
||||||
using Nocturnis.DataStructures.DataTypes;
|
using Nocturnis.DataStructures.DataTypes;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user