見出し画像

【Unity】3Dローグライクゲームの作り方〜Step11-3〜

前回の記事はこちら
前回はプレイヤーのステータスを表示しました。

アイテムの詳細説明の一部を変数に置き換える

今回はアイテムの詳細表示を改良します。具体的には、詳細説明の一部を変数にして、パラメーターの数値に置き換えようと思います。
という訳で、まずはアイテムデータファイルを開き、数値の部分を変数に置き換えて、保存して下さい。

スクリーンショット 2020-06-25 13.08.43

スクリーンショット 2020-06-25 13.08.59

スクリーンショット 2020-06-25 13.09.21

なお、今回置き換える予定のパラメーターは以下の通りです。

atk   → <atk>
def   → <def>
food → <food>
hp    → <hp>

変数を対応するパラメーターの値に置き換える

それではコードを書いていきます。
ItemSlotDisplayクラスのShowItemDetailメソッドを書き換えます。

private void ShowItemDetail()
{
   int idx = prevViewSelectItemIndex + leadShowItemIndex;
   Item it = idx == inventory.itemNumMax ? footItem : inventory.Get(idx);
   if (it == null) detail.GetComponentInChildren<Text>().text = "";
   else
   {
       string detailtxt = it.detail;
       detailtxt = detailtxt.Replace("<atk>", it.atk.ToString())
                            .Replace("<def>", it.def.ToString())
                            .Replace("<food>", it.food.ToString())
                            .Replace("<hp>", it.hp.ToString());
       detail.GetComponentInChildren<Text>().text = detailtxt;
   }
   /*   省略   */
}

テストして、今まで通り値が表示されることを確認して下さい。
また、杖を使った時、使用回数が減少することも確認しておきましょう。
(この際、既にインベントリにアイテムが入っている状態にしている方は、一度全てを削除しもう一度アイテムを入れ直す必要があります)

スクリーンショット 2020-06-25 15.04.42

使用回数が5回から4回に減った

という訳で、今回も短いですが、ここまでということで。
次回は未定です。

この記事が気に入ったらサポートをしてみませんか?