最終更新日 2024-06-19

My_戦争参加勢力決定直後

My_戦争参加勢力決定直後

戦争において、全ての参加勢力(戦争に参加する軍団等)が決定した直後のタイミング、かつ
そして、まだ各武将ユニットは出陣していないタイミングで、
一度だけ呼びだされるイベントハンドラとなります。

注意点

「My_戦争開始時」のタイミングでは、まだ戦争に参加する勢力は決定していません。
直接の当事者間で戦争が始まったという情報しかありません。

この「My_戦争参加勢力決定直後」が呼ばれるタイミングでは、全ての参加勢力が決定しているため、
各種、参加勢力や参戦立場の情報を得ることができます。

使い処

戦争の参加勢力や参戦立場の情報を拾って、変数などに格納しておく。

使用例①

戦争の参加は、大名という大きな勢力の視点、軍団という視点、武将という視点の3つがありますが、
このメソッドでは、「大名視点」「軍団視点」の情報を拾ってくることとなります。
大名視点の情報を拾ってきましょう。

戦争に参加している大名勢力の一覧の情報を得る。
    public static void My_戦争参加勢力決定直後()
    {
        var dlist = 大名.戦争.参戦大名番号リスト;
        foreach (int iDaimyoID in dlist)
        {
            int iDaiBushouID = 大名.配列[iDaimyoID].大名_武将番号;
            if (武将.配列.Exists(iDaiBushouID))
            {
                デバッグ出力(武将.配列[iDaiBushouID].名字 + "家参戦");
            }
        }
    }

使用例②

天翔記において、戦争とは事実上、大名同士ではなく、軍団同士の戦いであるため、
軍団視点の情報では、より詳細な情報を得ることが出来ます。

戦争に参加している軍団勢力、今回での戦争内での軍団を率いる総大将、参戦立場などの情報を得る。
    public static void My_戦争参加勢力決定直後()
    {
        var glist = 軍団.戦争.参戦軍団番号リスト;
        foreach (int iGundanID in glist)
        {
            var g = 軍団.配列[iGundanID];
            int iGdcBushouID = g.軍団長_武将番号;
            if (武将.配列.Exists(iGdcBushouID))
            {
                デバッグ出力(武将.配列[iGdcBushouID].姓名 + "の軍団参戦");

                int iSdsBushouID = g.戦争.総大将_武将番号;
                if (武将.配列.Exists(iSdsBushouID))
                {
                    デバッグ出力("今回の戦の" + 武将.配列[iSdsBushouID].姓名 + "軍団の指揮官は" + 武将.配列[iSdsBushouID].姓名 + "です");
                }

                int stand = g.戦争.参戦立場;
                if (stand == 列挙.軍団.戦争.参戦立場.攻撃軍)
                {
                    デバッグ出力("攻撃軍です");
                }
                else if (stand == 列挙.軍団.戦争.参戦立場.守備軍)
                {
                    デバッグ出力("守備軍です");
                }
                else if (stand == 列挙.軍団.戦争.参戦立場.攻撃の援軍)
                {
                    デバッグ出力("攻撃の援軍です");
                }
                else if (stand == 列挙.軍団.戦争.参戦立場.守備の援軍)
                {
                    デバッグ出力("守備の援軍です");
                }
                else if (stand == 列挙.軍団.戦争.参戦立場.中立軍)
                {
                    デバッグ出力("中立軍です");
                }
                else
                {
                    デバッグ出力("不明な軍です");
                }
            }
        }
    }

その他

「My_戦争参加勢力決定直後」イベントハンドラについて、主な解説は以上となります。