Start of asset management 2.0

This commit is contained in:
Simon Lübeß
2024-05-19 01:35:52 +02:00
parent 989ad4a5bd
commit 2725801db8
21 changed files with 2192 additions and 52 deletions
@@ -0,0 +1,50 @@
using System.Collections;
using GlitchyEditor.Assets.Importers;
using GlitchyEngine;
namespace GlitchyEditor.Assets;
class AssetConverter
{
private append Queue<AssetFile> _queue = .() ~ delete:append _;
private EditorContentManager _contentManager;
public this(EditorContentManager contentManager)
{
_contentManager = contentManager;
}
public void QueueForProcessing(AssetFile assetFile)
{
_queue.Add(assetFile);
}
public void Update()
{
if (_queue.Count == 0)
return;
for (AssetFile assetFile in _queue)
{
Process(assetFile);
}
_queue.Clear();
}
private void Process(AssetFile assetFile)
{
IAssetImporter importer = _contentManager.GetAssetImporter(assetFile);
if (importer == null)
{
Log.EngineLogger.Error("Importer is null!");
}
ImportedResource importedResource = importer.Import(assetFile.AssetFile.Path,
assetFile.AssetFile.Identifier, assetFile.AssetConfig.ImporterConfig);
delete importedResource;
}
}