private void BuildingUpgradeSlotClicked(BuildingUpgradeSlot slot) { var status = DarkestDungeonManager.Campaign.Estate.GetUpgradeStatus(slot.Tree.Id, slot.UpgradeInfo); if (status == UpgradeStatus.Available) { bool isFree = false; for (int i = 0; i < slot.Tree.Tags.Count; i++) { if (DarkestDungeonManager.Campaign.EventModifiers.HasFreeUpgrade(slot.Tree.Tags[i])) { isFree = true; DarkestDungeonManager.Campaign.EventModifiers.RemoveUpgradeTag(slot.Tree.Tags[i]); break; } } if (DarkestDungeonManager.Campaign.Estate.BuyUpgrade(slot.Tree.Id, slot.UpgradeInfo, isFree)) { EstateSceneManager.Instanse.CurrencyPanel.UpdateCurrency(); UpdateUpgradeTrees(true); } } else if (status == UpgradeStatus.Locked) { DarkestSoundManager.PlayOneShot("event:/ui/town/button_click_locked"); } }
private void SetUpgradeSlotAvailable(BuildingUpgradeSlot slot) { slot.Background.gameObject.SetActive(false); slot.Icon.sprite = availableUpgradeIcon; slot.CostFrame.gameObject.SetActive(true); bool isFree = false; for (int i = 0; i < slot.Tree.Tags.Count; i++) { if (DarkestDungeonManager.Campaign.EventModifiers.HasFreeUpgrade(slot.Tree.Tags[i])) { isFree = true; } } if (isFree || DarkestDungeonManager.Campaign.Estate.CanPayPrice(slot.UpgradeInfo.Cost[1])) { slot.CostFrame.HeirloomOneAmount.color = Color.white; } else { slot.CostFrame.HeirloomOneAmount.color = Color.red; } if (isFree) { slot.CostFrame.HeirloomOneAmount.text = "0"; } else { slot.CostFrame.HeirloomOneAmount.text = slot.UpgradeInfo.Cost[1].Amount.ToString(); } if (!(slot.CostFrame.HeirloomTwoIcon == null || slot.UpgradeInfo.Cost.Count < 3)) { if (DarkestDungeonManager.Campaign.Estate.CanPayPrice(slot.UpgradeInfo.Cost[2])) { slot.CostFrame.HeirloomTwoAmount.color = Color.white; } else { slot.CostFrame.HeirloomTwoAmount.color = Color.red; } if (isFree) { slot.CostFrame.HeirloomTwoAmount.text = "0"; } else { slot.CostFrame.HeirloomTwoAmount.text = slot.UpgradeInfo.Cost[2].Amount.ToString(); } } }
public void UpdateUpgradeSlot(UpgradeStatus status, BuildingUpgradeSlot slot) { switch (status) { case UpgradeStatus.Available: SetUpgradeSlotAvailable(slot); break; case UpgradeStatus.Locked: SetUpgradeSlotLocked(slot); break; case UpgradeStatus.Purchased: SetUpgradeSlotPurchased(slot); break; } }
private void SetUpgradeSlotLocked(BuildingUpgradeSlot slot) { slot.Background.gameObject.SetActive(false); slot.Icon.sprite = lockedUpgradeIcon; slot.CostFrame.gameObject.SetActive(false); }
public void SetUpgradeSlotLocked(BuildingUpgradeSlot slot) { slot.background.gameObject.SetActive(false); slot.icon.sprite = lockedUpgradeIcon; slot.costFrame.gameObject.SetActive(false); }