最終更新日 2024-09-25

User.version.SDK ~家宝~

家宝の概念

家宝と一言で言っても3つの概念で構成されます。

ここでは、よく利用するパターンをピックアップして解説します。

使用例①

全ての家宝について所定の処理を施すいったシーンは少ないですが、
ここでは家宝のプロパティの使い方を知る、ということで、
その代表的な例を行ってみましょう。

家宝のプロパティの利用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void My_戦略_軍団ターン変更時(int 軍団番号)
{
    foreach (var k in 家宝.配列)
    {
        // 全ての家宝の画像を茶釜とする。
        k.画像 = 列挙.家宝.画像.茶釜;
 
        // 全ての家宝を陣羽織とする
        k.種類 = 列挙.家宝.種類.陣羽織;
 
        // 全ての家宝の等級を1とする。
        k.等級 = 1;
 
        // 全ての家宝を登場させ、
        k.登場 = true;
 
        // 消失していたものは元へと戻す
        k.消失 = false;
    }
}

なお、家宝の「等級」と「効果」は常に連動するため、
片方に値を設定すると、もう一方も連動して変化します。

使用例②

次によくあるのが「特定の家宝」を名指して何か処理を施すというものです。
天翔記の家宝はデフォルトでは、全て一意であるため、
列挙として定義しています。

家宝を名指しして誰かに持たせる
1
2
3
4
5
6
7
8
9
10
public static void My_戦略_軍団ターン変更時(int 軍団番号)
{
    int iBushouID = 武将.Find_武将番号(列挙.武将.列伝番号.織田信長);
 
    // 武将が問題のない番号であれば、
    if (武将.配列.Exists(iBushouID))
    {
        家宝.配列[列挙.家宝.家宝番号.孫子].所有武将番号 = iBushouID; // 所有者を信長に変更
    }
}

又、名前から逆引きする手段も提供されています。
家宝名を変更している場合は、こちらの方が直感的かもしれません。

家宝を名指しして誰かに持たせる
1
2
3
4
5
6
7
8
9
10
11
public static void My_戦略_軍団ターン変更時(int 軍団番号)
{
    int iKahouID = 家宝.Find_家宝番号("孫子");
    int iBushouID = 武将.Find_武将番号(列挙.武将.列伝番号.織田信長);
 
    // 家宝も武将も問題のない番号であれば、
    if (家宝.配列.Exists(iKahouID) && 武将.配列.Exists(iBushouID))
    {
        家宝.配列[iKahouID].所有武将番号 = iBushouID; // 所有者を信長に変更
    }
}

その他

家宝について、主な解説は以上となります。
家宝関連には他にもプロパティやメソッドがあります。
詳しくはHD.version.SDKソース内の「家宝.h」や「家宝列挙.h」を参照してみてください。