Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PoolManager : IPoolManager
- {
- private readonly DiContainer _container;
- public PoolManager(DiContainer container)
- {
- _container = container;
- }
- public object Create(Type concreteType, params object[] args)
- {
- var result = _container.Instantiate(concreteType, args);
- if (result == null)
- throw new UnityException("Missing Factory<" + concreteType.ToString() + ">");
- return result;
- }
- public T Create<T>(params object[] args)
- {
- var result = _container.Instantiate<T>(args);
- if (result == null)
- throw new UnityException("Missing Factory<" + typeof(T).ToString() + ">");
- return result;
- }
- public T CreateComponent<T>(params object[] args) where T : Component
- {
- var type = typeof(T);
- var go = new GameObject(type.Name);
- var result = go.AddComponent<T>();
- return result;
- }
- public Component CreateComponent(Type componentType, params object[] args)
- {
- var go = new GameObject(componentType.Name);
- var result = go.AddComponent(componentType);
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement