|
@@ -6,35 +6,35 @@ namespace Hotfix
|
|
|
{
|
|
{
|
|
|
public static T Create<T>() where T : Disposer
|
|
public static T Create<T>() where T : Disposer
|
|
|
{
|
|
{
|
|
|
- T disposer = (T)Activator.CreateInstance(typeof(T));
|
|
|
|
|
|
|
+ T disposer = ObjectPool.Instance.Fetch<T>();
|
|
|
ObjectEvents.Instance.Awake(disposer);
|
|
ObjectEvents.Instance.Awake(disposer);
|
|
|
return disposer;
|
|
return disposer;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static T Create<T, A>(A a) where T : Disposer
|
|
public static T Create<T, A>(A a) where T : Disposer
|
|
|
{
|
|
{
|
|
|
- T disposer = (T)Activator.CreateInstance(typeof(T));
|
|
|
|
|
|
|
+ T disposer = ObjectPool.Instance.Fetch<T>();
|
|
|
ObjectEvents.Instance.Awake(disposer, a);
|
|
ObjectEvents.Instance.Awake(disposer, a);
|
|
|
return disposer;
|
|
return disposer;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static T Create<T, A, B>(A a, B b) where T : Disposer
|
|
public static T Create<T, A, B>(A a, B b) where T : Disposer
|
|
|
{
|
|
{
|
|
|
- T disposer = (T)Activator.CreateInstance(typeof(T));
|
|
|
|
|
|
|
+ T disposer = ObjectPool.Instance.Fetch<T>();
|
|
|
ObjectEvents.Instance.Awake(disposer, a, b);
|
|
ObjectEvents.Instance.Awake(disposer, a, b);
|
|
|
return disposer;
|
|
return disposer;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static T Create<T, A, B, C>(A a, B b, C c) where T : Disposer
|
|
public static T Create<T, A, B, C>(A a, B b, C c) where T : Disposer
|
|
|
{
|
|
{
|
|
|
- T disposer = (T)Activator.CreateInstance(typeof(T));
|
|
|
|
|
|
|
+ T disposer = ObjectPool.Instance.Fetch<T>();
|
|
|
ObjectEvents.Instance.Awake(disposer, a, b, c);
|
|
ObjectEvents.Instance.Awake(disposer, a, b, c);
|
|
|
return disposer;
|
|
return disposer;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static T CreateWithId<T>(long id) where T : Disposer
|
|
public static T CreateWithId<T>(long id) where T : Disposer
|
|
|
{
|
|
{
|
|
|
- T disposer = (T)Activator.CreateInstance(typeof(T));
|
|
|
|
|
|
|
+ T disposer = ObjectPool.Instance.Fetch<T>();
|
|
|
disposer.Id = id;
|
|
disposer.Id = id;
|
|
|
ObjectEvents.Instance.Awake(disposer);
|
|
ObjectEvents.Instance.Awake(disposer);
|
|
|
return disposer;
|
|
return disposer;
|
|
@@ -42,7 +42,7 @@ namespace Hotfix
|
|
|
|
|
|
|
|
public static T CreateWithId<T, A>(long id, A a) where T : Disposer
|
|
public static T CreateWithId<T, A>(long id, A a) where T : Disposer
|
|
|
{
|
|
{
|
|
|
- T disposer = (T)Activator.CreateInstance(typeof(T));
|
|
|
|
|
|
|
+ T disposer = ObjectPool.Instance.Fetch<T>();
|
|
|
disposer.Id = id;
|
|
disposer.Id = id;
|
|
|
ObjectEvents.Instance.Awake(disposer, a);
|
|
ObjectEvents.Instance.Awake(disposer, a);
|
|
|
return disposer;
|
|
return disposer;
|
|
@@ -50,7 +50,7 @@ namespace Hotfix
|
|
|
|
|
|
|
|
public static T CreateWithId<T, A, B>(long id, A a, B b) where T : Disposer
|
|
public static T CreateWithId<T, A, B>(long id, A a, B b) where T : Disposer
|
|
|
{
|
|
{
|
|
|
- T disposer = (T)Activator.CreateInstance(typeof(T));
|
|
|
|
|
|
|
+ T disposer = ObjectPool.Instance.Fetch<T>();
|
|
|
disposer.Id = id;
|
|
disposer.Id = id;
|
|
|
ObjectEvents.Instance.Awake(disposer, a, b);
|
|
ObjectEvents.Instance.Awake(disposer, a, b);
|
|
|
return disposer;
|
|
return disposer;
|
|
@@ -58,7 +58,7 @@ namespace Hotfix
|
|
|
|
|
|
|
|
public static T CreateWithId<T, A, B, C>(long id, A a, B b, C c) where T : Disposer
|
|
public static T CreateWithId<T, A, B, C>(long id, A a, B b, C c) where T : Disposer
|
|
|
{
|
|
{
|
|
|
- T disposer = (T)Activator.CreateInstance(typeof(T));
|
|
|
|
|
|
|
+ T disposer = ObjectPool.Instance.Fetch<T>();
|
|
|
disposer.Id = id;
|
|
disposer.Id = id;
|
|
|
ObjectEvents.Instance.Awake(disposer, a, b, c);
|
|
ObjectEvents.Instance.Awake(disposer, a, b, c);
|
|
|
return disposer;
|
|
return disposer;
|