短編RPG制作(Unity2D)【第68回】装備その10
装備
装備変更機能・解除機能の作成
ボタンの機能を完全にします。
武器を装備中に他の武器を装備すると、ボタンの表記が変更し再度選択できるようにしました。
また、装備中の武器を「外す」と武器なしの状態に戻るようにしました。
public class ShopManager : MonoBehaviour
{
(省略)
private void Equip(int Id)
{
foreach (BuyWeaponButton _buyWeaponButton in _buyWeaponButtonList)
{
_buyWeaponButton.ResetButton();
}
PlayerParameter.equipedWeapon = _weaponList[Id];
}
}
public class BuyWeaponButton : MonoBehaviour
{
(省略)
public void OnClickBuyButton()
{
// 購入処理
if ( value <= PlayerParameter.gold && _state == StateEnum.unpurchased )
{
PlayerParameter.gold -= value;
_text.text = "装備する";
_state = StateEnum.purchased;
return;
}
// 装備処理
if (_state == StateEnum.purchased)
{
onEquip(id);
_text.text = "外す";
_state = StateEnum.equiped;
return;
}
if (_state == StateEnum.equiped)
{
ResetButton();
PlayerParameter.equipedWeapon = null;
return;
}
}
public void ResetButton()
{
if (_state == StateEnum.equiped)
{
_text.text = "装備する";
_state = StateEnum.purchased;
}
}
}
これで購入・装備ボタンは完成です。
思ったより苦戦しました。参照取得などはかなり力技になってしまっているので、もっといいやり方があれば書き換えたいですね。
次回からは、ドロップアイテムの活用法を考えていきたいと思います。
この記事が気に入ったらサポートをしてみませんか?