Я делаю небольшую игру в единстве и сейчас пытаюсь построить систему квестов.Эта игра будет симуляцией, поэтому существует огромное количество различных классов / систем данных, с которыми придется взаимодействовать квестам.Я могу просто создать кучу служебных классов ... или даже создать поддельную "базу данных" для обработки вызовов данных ... но это не элегантно.
Конечно, должен быть способ, которымЯ могу просто обозначить реальный код из строки?
Пример:
String questText = Hello player.getFullName();, how are you?
questResults<String>[1] = player.inventory.add(GameObjectBuilder.Create(new WhateverObject()));
Я использую Unity ScriptableObject
для выполнения квестов, чтобы я мог скорее заполнять текстовые данные через редакторчем делать это на стороне IDE (тем более, что Unity не поддерживает интерполированные и составные строки, насколько я знаю).
Я знаю, что в Java есть API под названием «Отражение», который, насколько я понимаю, делает что-то подобноеНо я так и не смог полностью обернуться вокруг него.
Так как мне преобразовать элементы из строки в исполняемый код?
Если это возможно, вызовет ли это проблемы с исполнением с неопределенным количеством объектов, которые могут сталкиваться со сценариями, которые необходимо преобразовать?
Существуют ли другие альтернативные методы, которые достигают аналогичной цели??(это просто любопытство)