我有一个存在于场景中的游戏对象(比如说一个立方体),我希望它有一个可注入的组件。例如,我想说:我的多维数据集有一个 IShotFirer 成员,它可以解析为 BoomShotFirer 或 BangShotFirer MonoBehavior 组件,两者都实现了 IShotFirer。发生绑定时,我希望将此组件添加到多维数据集对象中。
public class CubeBehavior : MonoBehaviour
{
[Inject]
private IShotFirer shotFirer;
}
是否可以在没有 1) 需要包含这些 Bang/Boom 组件之一的现有预制件或 2) 需要附加了这些组件之一的现有场景对象的情况下做到这一点?
换句话说,我希望能够根据绑定动态地将组件添加到我的游戏对象中,并且不依赖于定义 BoomShotFirer 或 BangShotFirer 的脚本文件以外的任何内容。但是文档似乎暗示我需要找到一个现有的游戏对象或预制件(例如使用.FromComponentsInChildren()等)