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