сцен, в обеих сценах есть скрипты, требующие использование инъекций.
В основной сцене у меня есть пустой SceneContext, в папке Resources у меня есть префаб ProjectContext, который имеет один инсталлер.
И вот при такой конфигурации скрипт из второй сцены, загружаемой аддитивно — не видит инъекцию.
Этот же скрипт в первой сцене инъекцию видит прекрасно.
WTF?
Может покажусь банальным, а сцена добавлена в билд ?
Ага, обе сцены. Обе сцены вижу, обе работают, вижу так же ProjectContext(Clone) в DontDestroyOnLoad но инъекцию вижу только на том скрипте, который изначально висит на первой сцене этот же скрипт висящий во второй сцене — инъекцию не видит. Validate Scenes проходит нормально
Zenject по умолчанию использует один контейнер зависимостей на сцену. Когда вы загружаете вторую сцену аддитивно, она не имеет собственного контейнера, и инъекции не работают в этой сцене.
Ага, точно) выше отписался что решение нашел) Спасибо за помощь!
Еще у zenject есть SceneLoader который может передавать контекст в аддитивную сцену.
Обсуждают сегодня