首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zenject GameObject注入

Zenject GameObject注入
EN

Stack Overflow用户
提问于 2016-09-24 18:42:31
回答 1查看 2.3K关注 0票数 5

我正在使用Zenject框架,并且我对一个类使用了多个GameObject,但我不知道如何使用Zenject Container来实现。下面是我的代码:

代码语言:javascript
复制
private GameObject _canvas;
private GameObject _mainWindow;
private GameObject _createAccountWindow;

void Awake()
{
    _mainWindow = GameObject.FindGameObjectWithTag("MainWindow");
    _canvas = GameObject.FindGameObjectWithTag("Canvas");
    _createAccountWindow = GameObjectExtensions.FindObject(_canvas, "CreateAccountWindow");
}

可以从Zenject Container注入这些对象吗?如果是,我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-24 21:54:28

使用Zenject,这些类将像这样被注入:

代码语言:javascript
复制
[Inject]
GameObject _canvas;

[Inject]
GameObject _mainWindow;

[Inject]
GameObject _createAccountWindow;

然而,当你使用DI时,它通常是基于类型注入的,所以让它们都是'GameObject‘类型会使这变得很困难。

但是如果你把它做成这样:

代码语言:javascript
复制
[Inject]
Canvas _canvas;

[Inject(Id = "MainWindow")]
RectTransform _mainWindow;

[Inject(Id = "CreateAccountWindow")]
RectTransform _createAccountWindow;

然后,还要向这些组件中的每一个添加ZenjectBinding组件,并为ZenjectBinding的Identifier属性添加值,这样它就应该可以工作了。(我假设他们已经在这里启动的场景中)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39675451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档