SRCの設計(簡易版)
セーブファイルから起動した場合
起動→初期設定→セーブファイル読み込んでユニットグローバル変数他作成→インターミッション→(次のステージを選択)→次のステージで指定されたeveファイルをクラス化→クラス化したシナリオのプロローグラベル実行→スタートラベル実行→味方の1ターン目開始→ユーザーの入力待ち
eveから起動した場合
起動→初期設定→指定したeveファイルをクラス化→クラス化したシナリオのプロローグラベル実行→スタートラベル実行→味方の1ターン目開始→ユーザーの入力待ち
引数なしで起動した場合
起動→初期設定→ダイアログ表示→選んだファイル種別に応じて上の2つのうちどちらかを実行
ユーザー入力の結果Continueコマンドが実行されると
シナリオクラスのエピローグラベル実行→インターミッション→(次のステージを選択)→次のステージで指定されたeveファイルをクラス化→クラス化したシナリオのプロローグラベル実行→スタートラベル実行→味方の1ターン目開始→ユーザーの入力待ち
ユーザー入力の結果GameClearなど終了する処理が実行されると
クラス類解放→メインウィンドウ終了
メモ書きから起こした。作成中のアプリだと
起動
↓
シナリオループ ←┐
↓ │
入力待ちメインループ ←┐ │
↓ │ │
入力に応じて各種実行(ContinueやGameClearまでループ)┘ │
↓ │
インターミッション等(ゲーム終了までループ) ┘
↓
全シナリオ終わるか、終了指示が出たら終了
という二重ループ設計を考えてます。入力がDirectInputなので入力待ちをWindows任せでは無くちゃんと実装してやら無いといけないのです。