TheInitialProject/Assets/CaoCao/Scripts/Editor/XAsset/Simulation/EditorAssetHandler.cs
2024-10-23 16:59:02 +08:00

55 lines
1.4 KiB
C#

using CaoCao.XAsset;
using UnityEditor;
namespace CaoCao.Editor
{
public struct EditorAssetHandler : IAssetHandler
{
public void OnStart(AssetRequest request)
{
Load(request);
}
public void Update(AssetRequest request)
{
}
public void Dispose(AssetRequest request)
{
}
public void WaitForCompletion(AssetRequest request)
{
}
private void Load(AssetRequest request)
{
if (request.isAll)
{
request.assets = AssetDatabase.LoadAllAssetRepresentationsAtPath(request.path);
if (request.assets == null)
{
request.SetResult(Request.Result.Failed, "subAssets == null");
return;
}
}
else
{
request.asset = AssetDatabase.LoadAssetAtPath(request.path, request.type);
if (request.asset == null)
{
request.SetResult(Request.Result.Failed, "asset == null");
return;
}
}
request.progress = 1;
request.SetResult(Request.Result.Success);
}
public static IAssetHandler CreateInstance()
{
return new EditorAssetHandler();
}
}
}