注入附加到预制子游戏对象的组件
Inject components attached to child GameObjects of prefab
我使用工厂从预制件创建游戏对象。
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 但它没有帮助。
您需要通过在容器上添加绑定来告诉 zenject 在哪里可以找到 AssetsProvider。
例如,如果您将 Container.Bind<AssetsProvider>().AsSingle()
添加到安装程序,则 ButtonSoundBehaviour 将注入 AssetsProvider。
我使用工厂从预制件创建游戏对象。
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 但它没有帮助。
您需要通过在容器上添加绑定来告诉 zenject 在哪里可以找到 AssetsProvider。
例如,如果您将 Container.Bind<AssetsProvider>().AsSingle()
添加到安装程序,则 ButtonSoundBehaviour 将注入 AssetsProvider。