using System; using System.Runtime.InteropServices; namespace TEngine { /// /// 对象信息。 /// [StructLayout(LayoutKind.Auto)] public struct ObjectInfo { private readonly string m_Name; private readonly bool m_Locked; private readonly bool m_CustomCanReleaseFlag; private readonly int m_Priority; private readonly DateTime m_LastUseTime; private readonly int m_SpawnCount; /// /// 初始化对象信息的新实例。 /// /// 对象名称。 /// 对象是否被加锁。 /// 对象自定义释放检查标记。 /// 对象的优先级。 /// 对象上次使用时间。 /// 对象的获取计数。 public ObjectInfo(string name, bool locked, bool customCanReleaseFlag, int priority, DateTime lastUseTime, int spawnCount) { m_Name = name; m_Locked = locked; m_CustomCanReleaseFlag = customCanReleaseFlag; m_Priority = priority; m_LastUseTime = lastUseTime; m_SpawnCount = spawnCount; } /// /// 获取对象名称。 /// public string Name => m_Name; /// /// 获取对象是否被加锁。 /// public bool Locked => m_Locked; /// /// 获取对象自定义释放检查标记。 /// public bool CustomCanReleaseFlag => m_CustomCanReleaseFlag; /// /// 获取对象的优先级。 /// public int Priority => m_Priority; /// /// 获取对象上次使用时间。 /// public DateTime LastUseTime => m_LastUseTime; /// /// 获取对象是否正在使用。 /// public bool IsInUse => m_SpawnCount > 0; /// /// 获取对象的获取计数。 /// public int SpawnCount => m_SpawnCount; } }