Files
Nocturnis/src/GlobalManagement/Providers/GlobalProvider.cs
2024-07-11 11:21:29 +01:00

50 lines
1.5 KiB
C#

using Godot;
using Nocturnis.DataStructures.Data;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Inventories.Items;
namespace Nocturnis.GlobalManagement.Providers;
public static class GlobalProvider
{
public static IEnigmosProvider? EnigmosProvider { get; set; }
public static IDataStructureProvider? DataStructureProvider { get; set; }
public static IUIProvider? UIProvider { get; set; }
public static ISceneProvider? SceneProvider { get; set; }
public static IPolymorphismProvider? PolymorphismProvider { get; set; }
public static IDataTypeProvider? DataTypeProvider { get; set; }
public static class ModulePreviewMapper<TModule>
where TModule : IBaseModule
{
public static Texture2D? Preview { get; set; }
}
public static class ItemIconMapper<TItem>
where TItem : IBaseItem
{
public static Texture2D? Texture { get; set; }
}
public static class AssetMapper<T>
{
public static PackedScene Scene { get; set; }
}
public static readonly Dictionary<string, PackedScene> SceneNameMapper = new();
public static Font? Font { get; set; }
public static class DataTypes
{
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; }
}
}