Unity избегает жесткого кодирования значений?C#

Место общения программистов C#
Гость
Unity избегает жесткого кодирования значений?

Сообщение Гость »


В обработчике кликов я сохраняю ссылку на ScriptableObject следующим образом:

actionSO=itemScriptableObject.actions.action1; К этому игровому объекту прикреплено несколько разных действий:

itemScriptableObject.actions.action1; itemScriptableObject.actions.action2; itemScriptableObject.actions.action3; После нажатия мне нужно выяснить, какое действие выбрать и выполнить на основе глобальной переменной.

actionPicker=action1; Имена действий (действие1, действие2, действие3) соответствуют имени переменной. Таким образом, когда значение переменной actionPicker изменяется, оно должно напрямую подключаться к соответствующему действию scriptableobject. В JS это будет выглядеть примерно так:

itemScriptableObject.actions[actionPicker]; Но я понятия не имею, как это написать на C#?

Я использую простой жестко запрограммированный переключатель, а также поместил значения в отдельный класс для ссылки, но хочу оставить гибкость, используя ссылку на переменную, как показано выше.

Вернуться в «C#»