void CheckUpgradeButtonBudget(UpgradeButtonBehaviour button, WeaponUpgradableAttributes.WeaponAttribute upgrade) { if (PlayerStats.Money < upgrade.upgradeCurrentPrice) { button.gameObject.GetComponent <Button>().interactable = false; } else { button.gameObject.GetComponent <Button>().interactable = true; } }
void Awake() { gameManager = GameManager.instance; var upgradePanel = transform.Find("UpgradeButtons"); damageButton = upgradePanel.Find("Damage").GetComponent <UpgradeButtonBehaviour>(); speedButton = upgradePanel.Find("Speed").GetComponent <UpgradeButtonBehaviour>(); healthButton = upgradePanel.Find("Health").GetComponent <UpgradeButtonBehaviour>(); rangeButton = upgradePanel.Find("Range").GetComponent <UpgradeButtonBehaviour>(); attackSpeedButton = upgradePanel.Find("AttackSpeed").GetComponent <UpgradeButtonBehaviour>(); aimingSpeedButton = upgradePanel.Find("AimingSpeed").GetComponent <UpgradeButtonBehaviour>(); //keep upgrade button and related weapon upgrade attribute together buttonsWithWeaponAttributes = new Dictionary <UpgradeButtonBehaviour, WeaponUpgradableAttributes.WeaponAttribute>() { { damageButton, weaponPrefab.GetUpgradableAttributes().damage }, { speedButton, weaponPrefab.GetUpgradableAttributes().speed }, { healthButton, weaponPrefab.GetUpgradableAttributes().health }, { rangeButton, weaponPrefab.GetUpgradableAttributes().range }, { attackSpeedButton, weaponPrefab.GetUpgradableAttributes().attackSpeed }, { aimingSpeedButton, weaponPrefab.GetUpgradableAttributes().aimingSpeed } }; }