com.alicizax.unity.framework/Runtime/UI/Constant/UIMetadataObject.cs
陈思海 9afd5d9ff9 [Opt] ObjectPoolService && MemoryPool [Add]Benchmark Example
优化ObjcetPoolService 优化MemoryPoolService
增加ObjectPool 和MemoryPool的Benchmark
2026-04-27 14:38:24 +08:00

43 lines
1.1 KiB
C#

using System;
using AlicizaX.ObjectPool;
namespace AlicizaX.UI.Runtime
{
internal class UIMetadataObject : ObjectBase<UIMetadata>
{
public static UIMetadataObject Create(UIMetadata target, string name)
{
UIMetadataObject obj = MemoryPool.Acquire<UIMetadataObject>();
obj.Initialize(name, target);
return obj;
}
public static UIMetadataObject Create(UIMetadata target, RuntimeTypeHandle handle)
{
UIMetadataObject obj = MemoryPool.Acquire<UIMetadataObject>();
obj.Initialize(handle.GetHashCode().ToString(), target);
return obj;
}
protected internal override void Release(bool isShutdown)
{
UIMetadata metadata = Target;
if (metadata != null)
{
}
}
protected internal override void OnUnspawn()
{
base.OnUnspawn();
UIMetadata metadata = Target;
if (metadata != null)
{
metadata.CancelAsyncOperations();
}
}
}
}