using System; using GlitchyEngine; using GlitchyEngine.Content; using GlitchyEditor.Assets; using GlitchyEditor.Assets.Importers; using GlitchyEditor.Assets.Processors; using GlitchyEditor.Assets.Exporters; namespace GlitchyEditor { class EditorApp : Application { EditorContentManager _contentManager; public this(String[] args) { Log.ClientLogger = new EditorLogger(); Log.EngineLogger = new EditorLogger() { IsEngineLogger = true }; PushLayer(new EditorLayer(args, _contentManager)); } protected override IContentManager InitContentManager() { _contentManager = new EditorContentManager(); // TODO: Get rid of legacy loaders _contentManager.RegisterAssetLoader(); _contentManager.SetAsDefaultAssetLoader(".glb", ".gltf"); _contentManager.SetAssetPropertiesEditor(=> ModelAssetPropertiesEditor.Factory); _contentManager.RegisterAssetLoader(); _contentManager.SetAsDefaultAssetLoader(".mat"); _contentManager.SetAssetPropertiesEditor(=> MaterialAssetPropertiesEditor.Factory); _contentManager.RegisterAssetImporter(); _contentManager.RegisterAssetProcessor(); _contentManager.RegisterAssetExporter(); _contentManager.RegisterAssetExporter(); _contentManager.RegisterAssetImporter(); _contentManager.RegisterAssetProcessor(); _contentManager.RegisterAssetExporter(); _contentManager.SetGlobalAssetCacheDirectory(".cache"); _contentManager.SetResourcesDirectory("Resources"); return _contentManager; } [Export, LinkName("CreateApplication")] public static Application CreateApplication(String[] args) { return new EditorApp(args); } } }