すみません。SendMessage内部の実装は独自実装になるので、本来どういう動作を想定していてなにが問題になっているのかがわからないです。
SendMessageコマンドで、「黒背景とボタンを表示して、ボタンを押すまではシナリオを止める」としたいのに
「黒背景で隠している状態になっているだけで、シナリオが実行され続けていて想定外の動作をしている」ということでしょうか?
SendMessageコマンド自体は、デフォルトでは待機処理をしないので、すぐに次のコマンドを実行してシナリオが実行されます。
つまり、「ボタンを押すまでシナリオを止める」としたいのであれば、
SendMessageコマンドに待機処理が必要になります。
とすると、待機になります。
待機を解除するには、command.IsWait = false;とする必要がありますが、JumpScenarioをするなら中断されるので特に待機解除を処理は必要ないです。
>engine.JumpScenarioを処理する際に何かwaitなどの処理が必要なのでしょうか?
いえ、特に必要ないです。
JumpScenario自体は即座に実行されますが、意図せずにシナリオが実行状態になっているのであれば、上記のようにシナリオを止めておいたほうが無難です。