public void JumpScenario(string label)
{
if (ScenarioPlayer.MainThread.IsPlaying)
{
//シナリオがプレイ中の場合
if (ScenarioPlayer.IsPausing)
{
//ポーズ中なら再開
ScenarioPlayer.Resume();
}
//すぐにジャンプせずに、ジャンプラベルを予約することで現在のシナリオの状態を保ったままジャンプする
ScenarioPlayer.MainThread.JumpManager.RegistoreLabel(label);
}
else
{
//シナリオプレイ中ではないなら、即座にシナリオ開始
StartScenario(label, 0);
}
}
フローチャートからのジャンプ機能のように、今のシナリオを完全に中断して即座にジャンプする場合、以下のようにして現在のシナリオをクリアしてシナリオプレイを終了させておく必要があります。
//今の表示等をクリア
engine.ClearOnStart();
//指定のシナリオラベルを開始
engine.JumpScenario(label);
こうすると、すべての状態(背景表示など)をクリアしてから指定のシナリオラベルにジャンプします。ただし、パラメーターはクリアされずに継続します。
パラメーターも初期状態にしてからジャンプしたい場合は次のようにしてください。(指定のラベルからゲームを開始するという形になります)
engine.
StartGame (label);