Я хочу переместить различные части моего приложения в простые скрипты, чтобы люди, которые не имеют сильного знания С++, могли редактировать и реализовывать различные функции.
Поскольку это приложение в реальном времени, мне нужно иметь какую-то многозадачность для этих скриптов. В идеале я хочу, чтобы приложение С++ вызывало функцию script, которая затем продолжает работать (под потоком С++) до тех пор, пока не появится точка паузы (Wait (x)) или она не вернется. В случае его ожидания состояние должно быть сохранено в готовности к перезапуску script при следующем запуске приложения после истечения продолжительности.
Сценарии также должны иметь возможность вызывать методы класса С++, в идеале используя классы С++, а не обычные функции оболочки вокруг классов С++.
Я не хочу тратить огромное количество времени на реализацию этого, поэтому использование существующего языка сценариев предпочтительнее писать мои собственные. Я слышал, что Python и Lua могут быть интегрированы в приложение С++, но я не знаю, как это сделать для достижения моих целей.
- Сценарии должны иметь возможность вызывать функции С++
- Сценарии должны иметь возможность "приостанавливать", когда вызываются определенные функции (например, "Ожидание" ), и снова запускаться с помощью потока С++
- Нужно быть быстрым - это приложение для реального времени, и потенциально может быть много запущенных скриптов.
Я могу, вероятно, свернуть многозадачный код довольно легко, при условии, что скрипты можно сохранить и перезапустить (возможно, с помощью другого потока к оригиналу).