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 where TModule : IBaseModule { public static Texture2D? Preview { get; set; } } public static class ItemIconMapper where TItem : IBaseItem { public static Texture2D? Texture { get; set; } } public static class AssetMapper { public static PackedScene Scene { get; set; } } public static readonly Dictionary 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; } } }