public static void BindDisposableExecutionOrder(
            this DiContainer container, Type type, int order)
        {
            Assert.That(type.DerivesFrom <IDisposable>(),
                        "Expected type '{0}' to derive from IDisposable", type.Name());

            container.BindInstance(
                ModestTree.Util.Tuple.New(type, order)).WhenInjectedInto <DisposableManager>();
        }
示例#2
0
        public static void BindInitializableExecutionOrder(
            this DiContainer container, Type type, int order)
        {
            Assert.That(type.DerivesFrom <IInitializable>(),
                        "Expected type '{0}' to derive from IInitializable", type.Name());

            container.BindInstance(
                ValuePair.New(type, order)).WhenInjectedInto <InitializableManager>();
        }
示例#3
0
        public static void BindTickableExecutionOrder(
            this DiContainer container, Type type, int order)
        {
            Assert.That(type.DerivesFrom <ITickable>(),
                        "Expected type '{0}' to derive from ITickable", type);

            container.BindInstance(
                ModestTree.Util.ValuePair.New(type, order)).WhenInjectedInto <TickableManager>();
        }
示例#4
0
        protected virtual void Initialize()
        {
            Assert.IsNull(_container);

            _container = new DiContainer(new[] { StaticContext.Container });

            // Make sure we don't create any game objects since editor windows don't have a scene
            _container.AssertOnNewGameObjects = true;

            ZenjectManagersInstaller.Install(_container);

            _container.Bind <Kernel>().AsSingle();
            _container.Bind <GuiRenderableManager>().AsSingle();
            _container.BindInstance(this);

            InstallBindings();

            _container.QueueForInject(this);
            _container.ResolveRoots();

            _kernel.Initialize();
        }