ボタンが二つあります そしてそれぞれ変数を持っていてprice(100),price(50)があります。

ボタンを押すとgolds(300)から-=priceされます。
下記のコードを実行したところ、goldsが共有されず、それぞれの値をもっているようです。

  1. goldsを共有させるにはどうすればいいでしょうか
  2. golds >= 0だと 0以下の数字 例えば golds30-place40の場合 計算後0以下なら式を適応させないようにしたいのですが、0以下の数字まで適応される

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class shop : MonoBehaviour {

    public DragonStatus status;
    public DeathStatus status2;
    public int Attack;
    public int shield;
    public int price;
    public int golds = 300;
    public int Button;
    public Text goldtext;

    void Start() {
        int gainAttack = Attack;
        int gainshield = shield;

        Button button = this.GetComponent<Button>();

        button.onClick.AddListener(gainItem);
    }

    void gainItem() {
        if (golds >= 0) {
            golds -= price;
        } else {
            Debug.Log("not enough money");
        }
    }

    public void checker() {
        string str = golds.ToString();
    }

    void UpdateText() {
        goldtext.text = "golds" + golds;
    }
}