2015-07-09 2 views
2

Я хорошо знаю, что это может быть не лучшее место, чтобы задать вопрос Zenject. Я уже опубликовал тот же вопрос и на странице групп объявлений Zenject. Я размещаю это здесь, думая, что кто-то, кто здесь (кто не в группах Google), может помочь мне.Zenject Global Bindings

У меня есть вопрос о Zenject Global Bindings.

В моем приложении AR на данный момент есть несколько различных экранов (сохраненных как сцены). Каждая сцена может быть запущена на своем собственном, так что я мог бы держать ее очень разделенной. Когда я нажимаю кнопку на «Screen1», он загружает «Screen2» так далее и так далее. Я использую очень простой AppDelegate, который содержит класс NavigationController, который обрабатывает все переходы UGUI, чтобы он выглядел как обычное приложение для навигации на основе iOS, так сказать. Я ввожу AppDelegate как Singleton для всех инсталляторов, которые у меня есть, но так как для отдельных экранов (сцен) есть отдельные CompositionRoots, то в глобальном масштабе они не вводятся как одиночные.

Есть ли способ сделать это. У вас есть одноразовая инъекция во всем приложении, но с разными корнями композиции?

Если нет, то как использовать Глобальный корневой состав? Я руководствовался инструкциями по созданию глобального корня композиции и добавлял установщик в виде сборника и все такое. Я удалил установщик со сцены. Но когда я играю, ничего не происходит. Я пропустил что-то очевидное здесь.

Заранее спасибо.

+1

, если кто-либо интересуется ответом, обратитесь к https://groups.google.com/forum/#!topic/zenject/yob5Zh06NtU – hdsenevi

ответ

1

в вашем Ресурсы папка создать исходный код проекта how to make a project context prefab.

Вы также должны включить в сцену «SceneContext». это порождает первый «ProjectContext».

После создания указанного объекта он будет загружен на любым началом сцены. вместе с установщиками и установщиками объектов сценария, предусмотренными на сборке. наряду с креплениями для одиночек, то есть:

Container.Bind<IFoo>().To<Foo>().AsSingle().NonLazy(); 

это означает, на zenject initilization вы будете иметь экземпляр вашего singelton готовы и ждут.