diff --git a/Runtime/ABase/ObjectPool/ObjectPoolBase.cs b/Runtime/ABase/ObjectPool/ObjectPoolBase.cs
index 00df568..86df41f 100644
--- a/Runtime/ABase/ObjectPool/ObjectPoolBase.cs
+++ b/Runtime/ABase/ObjectPool/ObjectPoolBase.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using AlicizaX;
namespace AlicizaX.ObjectPool
@@ -139,6 +140,8 @@ namespace AlicizaX.ObjectPool
/// 所有对象信息。
public abstract ObjectInfo[] GetAllObjectInfos();
+ public abstract void GetAllObjectInfos(List results);
+
internal abstract void Update(float elapseSeconds, float realElapseSeconds);
internal abstract void Shutdown();
diff --git a/Runtime/ABase/ObjectPool/ObjectPoolService.Object.cs b/Runtime/ABase/ObjectPool/ObjectPoolService.Object.cs
index 6ef9130..0c7edec 100644
--- a/Runtime/ABase/ObjectPool/ObjectPoolService.Object.cs
+++ b/Runtime/ABase/ObjectPool/ObjectPoolService.Object.cs
@@ -157,8 +157,8 @@ namespace AlicizaX.ObjectPool
///
public void Unspawn()
{
- m_Object.OnUnspawn();
m_Object.LastUseTime = DateTime.UtcNow;
+ m_Object.OnUnspawn();
m_SpawnCount--;
if (m_SpawnCount < 0)
{
diff --git a/Runtime/ABase/ObjectPool/ObjectPoolService.ObjectPool.cs b/Runtime/ABase/ObjectPool/ObjectPoolService.ObjectPool.cs
index ce1e227..40e60c8 100644
--- a/Runtime/ABase/ObjectPool/ObjectPoolService.ObjectPool.cs
+++ b/Runtime/ABase/ObjectPool/ObjectPoolService.ObjectPool.cs
@@ -14,10 +14,8 @@ namespace AlicizaX.ObjectPool
{
private readonly GameFrameworkMultiDictionary> m_Objects;
private readonly Dictionary