我使用Factories从预制件创建GameObjects。
MenuScreen (prefab root game object)
* MenuScreenComponent <- inject ScreensNavigator
- Button (game object)
* ButtonSoundBehaviour <- inject AssetsProvider
在安装程序中:
Container.BindFactory<MenuScreen, MenuScreen.Factory>().FromComponentInNewPrefab(MenuFragmentPrefab);
ScreensNavigator
注入MenuScreenComponent
没有任何问题。
如何ButtonSoundBehaviour
注入AssetsProvider
?
我试图将Zenject Binding
添加到Button GameObject,但它没有帮助。
答案 0 :(得分:1)
您需要通过在容器上为它添加绑定来告诉zenject在哪里找到AssetsProvider。
例如,如果您将Container.Bind<AssetsProvider>().AsSingle()
添加到安装程序,则ButtonSoundBehaviour会将AssetsProvider注入其中。