diff options
Diffstat (limited to 'Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs')
| -rw-r--r-- | Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs b/Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs new file mode 100644 index 00000000..6ba319f3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs @@ -0,0 +1,24 @@ +using System;
 +
 +namespace XUtliPoolLib
 +{
 +	public class CommonObjectPool<T> where T : new()
 +	{
 +		private static readonly ObjectPool<object> s_Pool = new ObjectPool<object>(new ObjectPool<object>.CreateObj(CommonObjectPool<T>.Create), null, null);
 +
 +		public static object Create()
 +		{
 +			return Activator.CreateInstance<T>();
 +		}
 +
 +		public static T Get()
 +		{
 +			return (T)((object)CommonObjectPool<T>.s_Pool.Get());
 +		}
 +
 +		public static void Release(T toRelease)
 +		{
 +			CommonObjectPool<T>.s_Pool.Release(toRelease);
 +		}
 +	}
 +}
 | 
