#if !NOT_UNITY3D using System; using System.Collections.Generic; using ModestTree; using UnityEngine; namespace Zenject { [NoReflectionBaking] public class EmptyGameObjectProvider : IProvider { readonly DiContainer _container; readonly GameObjectCreationParameters _gameObjectBindInfo; public EmptyGameObjectProvider( DiContainer container, GameObjectCreationParameters gameObjectBindInfo) { _gameObjectBindInfo = gameObjectBindInfo; _container = container; } public bool IsCached { get { return false; } } public bool TypeVariesBasedOnMemberType { get { return false; } } public Type GetInstanceType(InjectContext context) { return typeof(GameObject); } public void GetAllInstancesWithInjectSplit( InjectContext context, List args, out Action injectAction, List buffer) { Assert.IsEmpty(args); injectAction = null; var gameObj = _container.CreateEmptyGameObject(_gameObjectBindInfo, context); buffer.Add(gameObj); } } } #endif