アプリのさまざまな部分を単純なスクリプトに移動して、C++ に関する十分な知識を持たないユーザーがさまざまな機能を編集および実装できるようにしたいと考えています。
これはリアルタイム アプリであるため、これらのスクリプトにはある種のマルチタスクが必要です。理想的には、C++ アプリがスクリプト関数を呼び出し、一時停止ポイント (Wait(x)) まで、または復帰するまで (C++ スレッドの下で) 実行し続けるようにしたいと考えています。待機中の場合は、期間が経過した後にアプリが次にループしたときにスクリプトを再開できるように、状態を保存する必要があります。
スクリプトは、理想的には、c++ クラスの単純なラッパー関数ではなく、c++ クラスを使用して、c++ クラス メソッドを呼び出すことができる必要があります。
これを実装するために膨大な時間を費やしたくないので、独自のスクリプト言語を作成するよりも、既存のスクリプト言語を使用することをお勧めします。Python と Lua を C++ アプリに統合できると聞きましたが、目標を達成するためにこれを行う方法がわかりません。
- スクリプトは C++ 関数を呼び出せる必要があります
- スクリプトは、特定の関数が呼び出されたときに「一時停止」できる必要があり (例: 待機)、C++ スレッドによって再び再開できる必要があります。
- 高速である必要があります。これはリアルタイム アプリ用であり、多数のスクリプトが実行される可能性があります。
スクリプトを保存して再起動できる場合 (元のスレッドとは別のスレッドを使用する可能性があります)、マルチタスキング コードをかなり簡単にロールバックできます。