Universal AssetHandles. Serialize AssetHandle instead of AssetIdentifier

A bit unstable
This commit is contained in:
Simon Lübeß
2023-08-01 21:38:54 +02:00
parent 6d7f26b1f4
commit 60725c3588
45 changed files with 520 additions and 127 deletions
@@ -1064,7 +1064,7 @@ namespace GlitchyEditor.EditWindows
GeometryBinding mesh = meshComponent.Mesh;
StringView identifier = mesh?.Identifier ?? "None";
StringView identifier = mesh?.Identifier ?? (meshComponent.Mesh.IsValid ? "<Missing Asset>" : "None");
ImGui.Button(identifier.ToScopeCStr!());
if (ImGui.BeginDragDropTarget())
@@ -141,8 +141,18 @@ namespace GlitchyEditor.EditWindows
if (payload != null)
{
StringView path = .((char8*)payload.Data, (int)payload.DataSize);
_editor.RequestOpenScene(this, path);
StringView assetIdentifier = .((char8*)payload.Data, (int)payload.DataSize);
let treeNode = _editor.ContentManager.AssetHierarchy.GetNodeFromIdentifier(assetIdentifier);
if (treeNode case .Err)
{
Log.EngineLogger.Error($"Dragged Asset doesn't exist. {assetIdentifier}");
return;
}
_editor.RequestOpenScene(this, treeNode->Value.Path);
}
ImGui.EndDragDropTarget();