Я создаю движок AI для JS-игры, и он создан из конечных машин. Я загружаю количество состояний и их значения переменных из XML. Я также хочу загрузить поведение, и поскольку у меня нет времени на создание языка сценариев, я подумал, что было бы неплохо "вставить" JS-код на внешние файлы (внутри узлов XML) и выполнить его на спрос.
Что-то вроде этого
<evilguy1>
<behaviour>
this.x++;
</behaviour>
<behaviour>
this.y++;
</behaviour>
</evilguy1>
Что-то вроде этого:
function behaviour_1(){
this.x++;
}
function behaviour_2(){
this.y++;
}
Мой вопрос: теперь, когда у меня загружен код, как его выполнить? Я хотел бы создать функцию с уникальным именем для каждого кода "node", а затем вызвать их из логики игры, но я не знаю, возможно ли это (поскольку вы можете загрузить больше кода JS из HTML, вы также должны быть в состоянии сделать это из JS-кода, нет?). Если нет, есть ли подобное решение? Спасибо заранее!
(PS: чем меньше зависит от внешней библиотеки, тем лучше)
Изменить 1:
Хорошо, теперь я знаю, как создавать функции, содержащие код
window[classname] = function() { ... };