c# - Inyección de Zenject GameObject
unity3d dependency-injection (1)
Usando Zenject, esas clases serían inyectadas así:
[Inject]
GameObject _canvas;
[Inject]
GameObject _mainWindow;
[Inject]
GameObject _createAccountWindow;
Sin embargo, cuando usas DI, generalmente se inyecta según el tipo, por lo que tenerlos a todos ser tipo ''GameObject'' hará que esto sea difícil.
Pero si lo haces algo así:
[Inject]
Canvas _canvas;
[Inject(Id = "MainWindow")]
RectTransform _mainWindow;
[Inject(Id = "CreateAccountWindow")]
RectTransform _createAccountWindow;
Luego también agregue los componentes ZenjectBinding a cada uno de estos y agregue un valor para la propiedad Identificador de ZenjectBinding, luego debería funcionar. (Supongo que ya están en la escena al inicio aquí)
Estoy usando Zenject framework y estoy usando múltiples GameObject
para una clase, pero no sé hacerlo usando Zenject Container. Aquí está mi código:
private GameObject _canvas;
private GameObject _mainWindow;
private GameObject _createAccountWindow;
void Awake()
{
_mainWindow = GameObject.FindGameObjectWithTag("MainWindow");
_canvas = GameObject.FindGameObjectWithTag("Canvas");
_createAccountWindow = GameObjectExtensions.FindObject(_canvas, "CreateAccountWindow");
}
¿Es posible inyectar estos objetos desde Zenject Container? Si es así, ¿cómo puedo hacer eso?