ミニマムブロック

頭の中でつながるまで

simple RPG #5

BaseStatを修正。this.FinalValueを0に設定

[?][BaseStatのRemoveStatBonusを修正→なぜああいう修正になる?

[?]CharacterStatのAddStatBonus()のforeachの中が謎。

 

①武器を作成

・EmptyObjectをキャラクタの右側に設置、Handに変更

・Handにキューブを追加、位置を調整、ソードと名称を変更

 

point:インターフェースを使えば、どれだけオーバーライドしようが、どういう武器を呼び出そうが、IWeaponを使えばよくなる。それがインターフェースの利点。

point:statsでステータスを扱うクラスを作れば、キャラクターも武器も同じ方法でステータスを作れる。

 

②Itemクラスを作成

・List<BaseStats> Statsを作成

・ObjectSlugを作成

 

③InventoryControlerを作成

・start()メソッドの中に、List<BaseStat> swordStatsを生成

・swordStats.Add(new BaseStat(6, "Power", "Your power level."));

Unityへ戻る。

 

④PlayerWeaponControllerクラスを作成

public GameObject playerHand; フィールドを追加

public GameObject EquippedWeapon{get; set;}

public void EquipWeapon(Item itemToEquip)

{

    if(EquippedWeapon != null)

     {

               

Destoroy(playerHand.transform.GetChild(0).gameObject);

     }

}

 

⑤EquipWeaponメソッドを作成

・もしアイテムがあれば、RemoveStatsBonus

・もしアイテムがあれば、destoroy(playHand.transform.GetChild(0).gameObject);

・EquippedWeaponを取得。

・リソースフォルダからアイテムタイプを探し、代入

・EquippedWeapon関係の設定を行う

・キャラクターにEquippedWeaponのstatsを追加

 

⑥PerformWeaponAttack()メソッドを追加

 

⑦InventoryControllerを更新

・Updateメソッドを追加