Refactored asset management to use a persistent, thread-safe SQLite-backed AssetCatalog, replacing in-memory dictionaries. Added AssetHandlerRegistry for O(1) handler lookup, ImportCoordinator for async background importing, and robust AssetMeta/AssetMetaIO for JSON-based metadata and settings. Refactored AssetRegistry to integrate these components and support auto-import via file system watcher. Updated IImportableAssetHandler for handler-specific settings and polymorphic serialization. Added comprehensive unit tests for all new systems. Removed obsolete code and legacy integration tests. BREAKING CHANGE: Asset system APIs and storage format have changed; migration required for existing projects.
47 lines
1022 B
C#
47 lines
1022 B
C#
#if false
|
|
|
|
using Ghost.Graphics.Core;
|
|
using Misaki.HighPerformance.LowLevel.Buffer;
|
|
using Misaki.HighPerformance.LowLevel.Collections;
|
|
|
|
namespace Ghost.Graphics.Test.RenderPipeline;
|
|
|
|
internal sealed class TestRenderPayload : IRenderPayload
|
|
{
|
|
public UnsafeList<RenderRequest> renderRequests;
|
|
|
|
public TestRenderPayload()
|
|
{
|
|
renderRequests = new UnsafeList<RenderRequest>(2, Allocator.Persistent);
|
|
}
|
|
|
|
public void Reset()
|
|
{
|
|
for (int i = 0; i < renderRequests.Count; i++)
|
|
{
|
|
renderRequests[i].Dispose();
|
|
}
|
|
|
|
renderRequests.Clear();
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
renderRequests.Dispose();
|
|
}
|
|
}
|
|
|
|
internal sealed class TestRenderPipelineSettings : IRenderPipelineSettings
|
|
{
|
|
public IRenderPipeline CreatePipeline(RenderSystem renderSystem)
|
|
{
|
|
return new TestRenderPipeline(renderSystem);
|
|
}
|
|
|
|
public IRenderPayload CreatePayload(RenderSystem renderSystem)
|
|
{
|
|
return new TestRenderPayload();
|
|
}
|
|
}
|
|
|
|
#endif |