Unity 避免对值进行硬编码?

Unity avoid hardcoding values?

提问人:makeITwork 提问时间:9/23/2023 最后编辑:sotirovmakeITwork 更新时间:9/23/2023 访问量:53

问:

在单击处理程序中,我保存了对 ScriptableObject 的引用,如下所示:

actionSO=itemScriptableObject.actions.action1;

我有几个不同的操作附加到这个游戏对象:

itemScriptableObject.actions.action1;
itemScriptableObject.actions.action2;
itemScriptableObject.actions.action3;

单击后,我需要根据全局变量确定要选择哪个操作并采取行动。

actionPicker=action1;

操作名称(action1、action2、action3)与变量名称相对应。因此,当变量 actionPicker 值更改时,它应该直接挂接到相应的 scriptableobject 操作。在 JS 中,它看起来像这样:

itemScriptableObject.actions[actionPicker];

但是我不知道如何用 C# 编写它?

我让它使用一个简单的硬编码开关工作,并将值放在一个单独的类中进行引用,但希望通过使用如上所示的变量引用来保持灵活性。

C# unity-game-engine 对象 变量

评论

0赞 Daniel A. White 9/23/2023
使用字典或其他集合
0赞 makeITwork 9/23/2023
如果我使用字典或其他集合,它是否仍然需要在那里进行硬编码?

答: 暂无答案