private void UpdateButtonText(Button button, Upgrade upgrade) { int currentLevel = gameManager.upgradeLevelsDictionary[upgrade]; UpgradesIdentifier upgradesIdentifier = upgradesModel.GetUpgradeEnum(upgrade, currentLevel + 1); if (upgradesIdentifier == UpgradesIdentifier.None) { upgradesIdentifier = upgradesModel.GetUpgradeEnum(upgrade, currentLevel); } var enumType = typeof(UpgradesIdentifier); var memberInfos = enumType.GetMember(upgradesIdentifier.ToString()); var enumValueMemberInfo = memberInfos.FirstOrDefault(m => m.DeclaringType == enumType); var valueAttributes = enumValueMemberInfo.GetCustomAttributes(typeof(Identifier), false); var description = ((Identifier)valueAttributes[0]).enumIdentifier; int maxUpgradeLevel = upgradesModel.GetTotalUpgrades(upgrade); if (maxUpgradeLevel == currentLevel) // Check if upgrade is max { button.GetComponentInChildren <Text>().text = description + "\n - Max Level."; } else { button.GetComponentInChildren <Text>().text = description; } }
private void DisplayChoosenUpgrade(Upgrade upgrade) { int currentLevel = gameManager.upgradeLevelsDictionary[upgrade]; UpgradesIdentifier upgradesIdentifier = upgradesModel.GetUpgradeEnum(upgrade, currentLevel + 1); if (upgradesIdentifier == UpgradesIdentifier.None) { upgradesIdentifier = upgradesModel.GetUpgradeEnum(upgrade, currentLevel); } upgradeDescriptionText.text = "Description:\n" + upgradesModel.GetRecord(upgradesIdentifier).Description; }
public UpgradesIdentifier GetUpgradeEnum(UpgradeMenu.Upgrade type, int level) { UpgradesIdentifier ret = UpgradesIdentifier.None; foreach (var record in Records) { UpgradesRecord rec = record as UpgradesRecord; if (rec.UpgradeType == type.ToString() && rec.Upgradelevel == level) { ret = rec.Identifier; } } return(ret); }
// Justin's Code // public int GetTotalUpgrades(UpgradeMenu.Upgrade type) { int total = 0; foreach (var record in Records) { UpgradesRecord rec = record as UpgradesRecord; if (rec.UpgradeType == type.ToString()) { total++; } } return(total); }