最終更新日 2024-09-25

On_シナリオ選択直後

On_シナリオ選択直後

6つのシナリオのいずれかを選択する度に実行されるイベントハンドラとなります。
キャンセルして、再び選び直すと、再度このイベントハンドラが実行されます。
シナリオを選択する度に実行されることとなります。

使い処

対象のシナリオデータの開始状態を修正したい場合に利用します。

使用例①

シナリオを選択した時点で、すでに基本的なデータはセッティングされているため、
各種のクラスオブジェクトのほとんど全てが利用可能です。
(戦争などは起きていないため、使っても意味がありません、又、ターン情報なども有意な情報を得られません)

戦争に参加している大名勢力の一覧の情報を得る。
void 天翔記クラス::On_シナリオ選択直後(String^ シナリオファイル名) {

  // シナリオファイル名によって、元の6つのシナリオでも、他のファイル名の独自のシナリオでも正確に判別が付く。
  // やってはらないないことは、「元のシナリオと違う内容」であるにもかかわらず、同じファイル名で保存してしまうこと。
  // 区別がつきにくくなるだけなので、このような行為は避けること。

  // 1560年、桶狭間の合戦のシナリオだ
  if (シナリオファイル名->ToLower()->Contains("sndata2.dat")) {

    // 秋からのスタート
    暦->季節 = 列挙::暦::季節::秋;

    for each (auto c in 城->配列) {
      c->金山 = true; // 全ての城に金山フラグを立てる
      c->巨城 = true;
      c->城郭 = 250;  // 全ての城の城郭をMAXに
    }

    // 孫氏を持っているのを信玄→信長へと変更
    int iKahouID = 家宝->Find_家宝番号("孫子");
    int iBushouID = 武将->Find_武将番号(列挙::武将::列伝番号::織田信長);

    // 家宝も武将も問題のない番号であれば、
    if (0 <= iKahouID && iKahouID < 家宝->配列->Count &&
      0 <= iBushouID && iBushouID < 武将->配列->Count) {
      家宝->配列[iKahouID]->所有武将番号 = iBushouID; // 所有者を信長に変更
    }

  }
}

その他

「On_シナリオ選択直後」イベントハンドラについて、主な解説は以上となります。