短編RPG制作(Unity2D)【第61回】装備その4


装備

購入処理の作成

購入を制御するスクリプトを作成します。

using UnityEngine;

public class BuyWeaponButton : MonoBehaviour
{
    private WeaponData weaponData;

    private void Start()
    {
        weaponData = GetComponent<WeaponData>();
    }

    private void OnClickBuyButton()
    {
        if ( weaponData.GetValue() <= PlayerParameter.gold )
        {
            PlayerParameter.gold -= weaponData.GetValue();
            weaponData.SetText("装備する");
        }
    }
}

すぐ終わると思ったのですが、武器のデータもドロップアイテムと同様に「ScriptableObject」として管理したいと思ったら結構な作業に……
まずは型を作成しました。

using UnityEngine;

[CreateAssetMenu(fileName = "Weapon", menuName = "ScriptableObjects/WeaponData")]
public class WeaponData : ScriptableObject
{
    [SerializeField] private string weaponName;
    [SerializeField] private string text;
    [SerializeField] private string buttonText;

    [SerializeField] private int id;
    [SerializeField] private int value;

    [SerializeField] private Sprite icon;

    public string GetName()
    {
        return name;
    }

    public int GetId()
    {
        return id;
    }

    public int GetValue()
    {
        return value;
    }

    public string GetButtonText()
    {
        return buttonText;
    }

    public void SetText(string ButtonText)
    {
        this.buttonText = ButtonText;
    }

    public Sprite GetIcon()
    {
        return icon;
    }
}

この後やることとしては、

  • 各武器のデータ作成

  • データからUIを自動で作成

  • 購入処理を実装

  • 購入状態の一括管理

要するに、武器のデータを作るだけで全部済むようにしようと思います。
武器を大量に増やすつもりはないので無駄かもしれませんが、勉強がてら整理していきたいと思います。

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