2025-10-11 15:18:09 +08:00
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
|
|
namespace AlicizaX.ObjectPool
|
|
|
|
|
{
|
2026-04-22 13:04:31 +08:00
|
|
|
|
2025-10-11 15:18:09 +08:00
|
|
|
[StructLayout(LayoutKind.Auto)]
|
2026-04-22 13:04:31 +08:00
|
|
|
public readonly struct ObjectInfo
|
2025-10-11 15:18:09 +08:00
|
|
|
{
|
2026-04-22 13:04:31 +08:00
|
|
|
public readonly string Name;
|
|
|
|
|
public readonly bool Locked;
|
|
|
|
|
public readonly bool CustomCanReleaseFlag;
|
|
|
|
|
public readonly float LastUseTime;
|
|
|
|
|
public readonly int SpawnCount;
|
2025-10-11 15:18:09 +08:00
|
|
|
|
2026-04-22 13:04:31 +08:00
|
|
|
public ObjectInfo(string name, bool locked, bool customCanReleaseFlag,
|
|
|
|
|
float lastUseTime, int spawnCount)
|
2025-10-11 15:18:09 +08:00
|
|
|
{
|
2026-04-22 13:04:31 +08:00
|
|
|
Name = name;
|
|
|
|
|
Locked = locked;
|
|
|
|
|
CustomCanReleaseFlag = customCanReleaseFlag;
|
|
|
|
|
LastUseTime = lastUseTime;
|
|
|
|
|
SpawnCount = spawnCount;
|
2025-10-11 15:18:09 +08:00
|
|
|
}
|
|
|
|
|
|
2026-04-22 13:04:31 +08:00
|
|
|
public bool IsInUse => SpawnCount > 0;
|
2025-10-11 15:18:09 +08:00
|
|
|
}
|
|
|
|
|
}
|