//------------------------------------------------------------ // Game Framework // Copyright © 2013-2021 loyalsoft. All rights reserved. // Homepage: http://www.game7000.com/ // Feedback: http://www.game7000.com/ //------------------------------------------------------------ using System; using System.Runtime.InteropServices; namespace GameFramework.ObjectPool { /// /// 对象信息。 /// [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 { get { return m_Name; } } /// /// 获取对象是否被加锁。 /// public bool Locked { get { return m_Locked; } } /// /// 获取对象自定义释放检查标记。 /// public bool CustomCanReleaseFlag { get { return m_CustomCanReleaseFlag; } } /// /// 获取对象的优先级。 /// public int Priority { get { return m_Priority; } } /// /// 获取对象上次使用时间。 /// public DateTime LastUseTime { get { return m_LastUseTime; } } /// /// 获取对象是否正在使用。 /// public bool IsInUse { get { return m_SpawnCount > 0; } } /// /// 获取对象的获取计数。 /// public int SpawnCount { get { return m_SpawnCount; } } } }