短編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;
        }
    }
}

これで購入・装備ボタンは完成です。
思ったより苦戦しました。参照取得などはかなり力技になってしまっているので、もっといいやり方があれば書き換えたいですね。

次回からは、ドロップアイテムの活用法を考えていきたいと思います。

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