Exemplo n.º 1
0
    private void SetUpgradeSlotAvailable(EquipmentUpgradeSlot slot, float discount)
    {
        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.Upgrade.Cost[0], discount))
        {
            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 = Mathf.RoundToInt(slot.Upgrade.Cost[0].Amount * discount).ToString();
        }
    }
Exemplo n.º 2
0
    public void UpdateUpgradeSlot(UpgradeStatus status, EquipmentUpgradeSlot slot, float discount = 1)
    {
        switch (status)
        {
        case UpgradeStatus.Available:
            SetUpgradeSlotAvailable(slot, discount);
            break;

        case UpgradeStatus.Locked:
            SetUpgradeSlotLocked(slot);
            break;

        case UpgradeStatus.Purchased:
            SetUpgradeSlotPurchased(slot);
            break;
        }
    }
Exemplo n.º 3
0
    void BlacksmithHeroWindow_onUpgradeClick(EquipmentUpgradeSlot slot)
    {
        var status = DarkestDungeonManager.Campaign.Estate.GetUpgradeStatus(slot.Tree.Id, slot.Hero, slot.Upgrade);

        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;
                }
            }

            float discount = 1 - DarkestDungeonManager.Campaign.Estate.Blacksmith.Discount;

            if (DarkestDungeonManager.Campaign.Estate.BuyUpgrade(slot.Tree.Id, slot.Hero, slot.Upgrade, discount, isFree))
            {
                TownManager.EstateSceneManager.currencyPanel.CurrencyDecreased("gold");
                TownManager.EstateSceneManager.currencyPanel.UpdateCurrency();
                DarkestDungeonManager.Campaign.Estate.ReequipHero(slot.Hero);
                UpdateHeroOverview();
                if (slot.Tree.Tags.Contains("weapon"))
                {
                    DarkestSoundManager.PlayOneShot("event:/town/blacksmith_purchase_weapon");
                }
                else
                {
                    DarkestSoundManager.PlayOneShot("event:/town/blacksmith_purchase_armor");
                }
            }
        }
        else if (status == UpgradeStatus.Locked)
        {
            DarkestSoundManager.PlayOneShot("event:/ui/town/button_click_locked");
        }
    }
Exemplo n.º 4
0
 private void SetUpgradeSlotLocked(EquipmentUpgradeSlot slot)
 {
     slot.Background.gameObject.SetActive(false);
     slot.Icon.sprite = lockedUpgradeIcon;
     slot.CostFrame.gameObject.SetActive(false);
 }
Exemplo n.º 5
0
 public void SetUpgradeSlotLocked(EquipmentUpgradeSlot slot)
 {
     slot.background.gameObject.SetActive(false);
     slot.icon.sprite = lockedUpgradeIcon;
     slot.costFrame.gameObject.SetActive(false);
 }