com.alicizax.unity.framework/Runtime/UI/Constant/UIMetadataObject.cs

33 lines
936 B
C#
Raw Normal View History

2025-12-24 20:44:36 +08:00
using System;
2025-11-17 16:55:06 +08:00
using AlicizaX.ObjectPool;
namespace AlicizaX.UI.Runtime
{
internal class UIMetadataObject : ObjectBase
{
public static UIMetadataObject Create(UIMetadata target, string name)
{
UIMetadataObject obj = MemoryPool.Acquire<UIMetadataObject>();
obj.Initialize(name, target);
return obj;
}
2025-12-24 20:44:36 +08:00
public static UIMetadataObject Create(UIMetadata target, RuntimeTypeHandle handle)
{
UIMetadataObject obj = MemoryPool.Acquire<UIMetadataObject>();
// Use type handle hash code as name to avoid string allocation
obj.Initialize(handle.GetHashCode().ToString(), target);
return obj;
}
2025-11-17 16:55:06 +08:00
protected internal override void Release(bool isShutdown)
{
UIMetadata metadata = (UIMetadata)Target;
if (metadata != null)
{
}
}
}
}