Пример #1
0
    public void OnPointerEnter(PointerEventData eventData)
    {
        if (ActivitySlot.Status == ActivitySlotStatus.Caretaken)
        {
            ToolTipManager.Instanse.Show(LocalizationManager.GetString("str_cant_place_hero_here_caretaker"),
                                         RectTransform, ToolTipStyle.FromBottom, ToolTipSize.Small);
        }
        else if (ActivitySlot.Status == ActivitySlotStatus.Crierd)
        {
            ToolTipManager.Instanse.Show(LocalizationManager.GetString("str_cant_place_hero_here_crier"),
                                         RectTransform, ToolTipStyle.FromBottom, ToolTipSize.Small);
        }

        DarkestSoundManager.PlayOneShot(ActivitySlot.IsUnlocked ?
                                        "event:/ui/town/button_mouse_over_3" : "event:/ui/town/button_mouse_over_2");
    }
    public void OnPointerEnter(PointerEventData eventData)
    {
        Highlighted = true;
        DarkestSoundManager.PlayOneShot("event:/ui/town/button_mouse_over");

        SetActive(!Deactivated);

        if (Slot.Inventory != null && Slot.Inventory.Configuration == InventoryConfiguration.RaidInventory && Item.Type != "quest_item" &&
            (Slot.Inventory.State == InventoryState.Peaceful || Slot.Inventory.State == InventoryState.PeacefulLooting))
        {
            ToolTipManager.Instanse.Show(Item.ToolTipDiscard, eventData, RectTransform, ToolTipStyle.FromRight, ToolTipSize.Normal);
        }
        else
        {
            ToolTipManager.Instanse.Show(Item.ToolTip, eventData, RectTransform, ToolTipStyle.FromRight, ToolTipSize.Normal);
        }
    }
Пример #3
0
    private IEnumerator SceneFade(float seconds, float speed)
    {
        CampaignSelectionManager.Instanse.TitleRect.SetParent(SceneryRect, false);

        Vector2 localPoint;

        RectTransformUtility.ScreenPointToLocalPointInRectangle(SceneryRect,
                                                                new Vector2(Screen.width / 2, Screen.height), DarkestDungeonManager.Instanse.MainUICamera, out localPoint);
        CampaignSelectionManager.Instanse.TitleRect.localPosition = localPoint;

        if (DarkestSoundManager.TitleMusicInstanse != null)
        {
            float titleVolume;
            DarkestSoundManager.TitleMusicInstanse.getVolume(out titleVolume);

            for (float nextVolume = titleVolume; nextVolume >= 0; nextVolume -= Time.deltaTime * 3f)
            {
                DarkestSoundManager.TitleMusicInstanse.setVolume(nextVolume);
                yield return(null);
            }
        }

        DarkestSoundManager.StopTitleMusic();
        DarkestSoundManager.PlayOneShot("event:/general/title_screen/start_game");

        while (true)
        {
            if (seconds <= 0)
            {
                break;
            }

            seconds -= Time.deltaTime;

            Vector2 offsetMax = SceneryRect.offsetMax;
            offsetMax.y          += Time.deltaTime * speed;
            SceneryRect.offsetMax = offsetMax;
            Vector2 offsetMin = SceneryRect.offsetMin;
            offsetMin.y          += Time.deltaTime * speed;
            SceneryRect.offsetMin = offsetMin;
            yield return(null);
        }

        PhotonNetwork.LoadLevel("DungeonMultiplayer");
    }
Пример #4
0
    public void TreatmentButtonClicked()
    {
        int cost = 0;

        if (SelectedSlot.TreatmentSlot.TargetPositiveQuirk != null)
        {
            cost += SelectedSlot.TreatmentSlot.BasePositiveCost;
        }
        if (SelectedSlot.TreatmentSlot.TargetNegativeQuirk != null)
        {
            var quirk = SelectedSlot.TreatmentSlot.Hero.GetQuirkInfo(SelectedSlot.TreatmentSlot.TargetNegativeQuirk);
            if (quirk != null)
            {
                if (quirk.IsLocked)
                {
                    cost += SelectedSlot.TreatmentSlot.BasePermanentCost;
                }
                else
                {
                    cost += SelectedSlot.TreatmentSlot.BaseCost;
                }
            }
        }
        if (cost != 0 || DarkestDungeonManager.Campaign.EventModifiers.IsActivityFree(SelectedSlot.activityName))
        {
            if (SelectedSlot.TreatmentSlot.Status == ActivitySlotStatus.Checkout)
            {
                if (DarkestDungeonManager.Campaign.Estate.CanPayGold(cost))
                {
                    DarkestDungeonManager.Campaign.Estate.RemoveGold(cost);
                    TownManager.EstateSceneManager.currencyPanel.UpdateCurrency();
                    TownManager.EstateSceneManager.currencyPanel.CurrencyDecreased("gold");
                    TownManager.GetHeroSlot(SelectedSlot.TreatmentSlot.Hero).SetStatus(HeroStatus.Sanitarium);
                    SelectedSlot.PayoutSlot();
                    DarkestSoundManager.PlayOneShot("event:/town/sanitarium_treatment");
                    ResetWindow();
                }
            }
        }
        else
        {
            treatmentButton.gameObject.SetActive(false);
            costLabel.gameObject.SetActive(false);
        }
    }
Пример #5
0
    public void SortByStress()
    {
        DarkestSoundManager.PlayOneShot("event:/ui/town/sort_by");

        Comparison <Hero> sorting = (x, y) =>
        {
            int result = x.Stress.CurrentValue.CompareTo(y.Stress.CurrentValue);
            return(result == 0 ? string.Compare(x.Name, y.Name, StringComparison.Ordinal) : result);
        };

        DarkestDungeonManager.Campaign.Heroes.Sort(sorting);
        HeroSlots.Sort((x, y) => sorting(x.Hero, y.Hero));

        for (int i = 0; i < HeroSlots.Count; i++)
        {
            HeroSlots[i].RectTransform.SetSiblingIndex(i);
        }
    }
    public void CharacterWindowSwitch(Hero hero, bool interactable)
    {
        if (EstateSceneState == EstateSceneState.ProvisionScreen)
            return;

        DarkestSoundManager.PlayOneShot("event:/ui/town/page_open");

        if (characterWindowOpened)
            characterWindow.UpdateCharacterInfo(hero, interactable);
        else
        {
            characterWindowOpened = true;
            characterWindow.gameObject.SetActive(true);
            characterWindow.UpdateCharacterInfo(hero, interactable);
            if (activityLogOpened)
                ActivityLogClose();
        }
    }
Пример #7
0
    public void SortByLevel()
    {
        DarkestSoundManager.PlayOneShot("event:/ui/town/sort_by");

        System.Comparison <Hero> sorting = (x, y) =>
        {
            int result = -x.Resolve.Level.CompareTo(y.Resolve.Level);
            return(result == 0 ? x.Name.CompareTo(y.Name) : result);
        };

        DarkestDungeonManager.Campaign.Heroes.Sort(sorting);
        HeroSlots.Sort((x, y) => sorting(x.Hero, y.Hero));

        for (int i = 0; i < HeroSlots.Count; i++)
        {
            HeroSlots[i].RectTransform.SetSiblingIndex(i);
        }
    }
    public void TownEventClick()
    {
        if (townManager.BuildingWindowActive)
            return;

        if (townEventWindow.isActiveAndEnabled)
        {
            bottomPanel.TownEventAnimator.state.SetAnimation(0, "idle", false);
            townEventWindow.gameObject.SetActive(false);
            DarkestSoundManager.PlayOneShot("event:/ui/town/page_close");
        }
        else
        {
            bottomPanel.TownEventAnimator.state.SetAnimation(0, "selected", true);
            townEventWindow.gameObject.SetActive(true);
            DarkestSoundManager.PlayOneShot("event:/ui/town/page_open");
        }
    }
Пример #9
0
    public void SaveNamingCompleted()
    {
        roomFrame.material = roomFrame.defaultMaterial;

        if (titleInput.text.Length == 0)
        {
            FillEmptyRoom();
            RoomSelector.RoomNamingCompleted();
            RoomSelector.EnableInteraction();
            return;
        }
        DarkestSoundManager.PlayOneShot("event:/ui/town/button_click");
        RoomSelector.RoomNamingCompleted();

        if (!DarkestPhotonLauncher.Instanse.CreateNamedRoom(titleInput.text))
        {
            FillEmptyRoom();
        }
    }
Пример #10
0
    public void SaveNamingCompleted()
    {
        if (titleInput.text.Length == 0)
        {
            FillEmptySave();
            return;
        }
        saveData             = new SaveCampaignData();
        saveData.HamletTitle = titleInput.text;
        saveData.SaveId      = slotId;
        SaveLoadManager.WriteStartingSave(saveData);
        saveData = SaveLoadManager.ReadSave(slotId);
        FillPopulatedSave();

        titleInput.interactable = false;
        titleInput.enabled      = false;
        DarkestSoundManager.PlayOneShot("event:/ui/town/button_click");
        SaveSelector.SaveNamingCompleted();
    }
Пример #11
0
    void SanitariumQuirkWindow_onPositiveSelect(QuirkTreatmentSlot slot)
    {
        if (SelectedSlot != null && SelectedSlot.TreatmentSlot.Hero.LockedPositiveQuirks.Count > 2)
        {
            slot.Deselect();
            return;
        }
        DarkestSoundManager.PlayOneShot("event:/ui/town/button_click");

        for (int i = 0; i < positiveSlots.Count; i++)
        {
            if (positiveSlots[i] != slot && positiveSlots[i].Selected)
            {
                positiveSlots[i].Deselect();
            }
        }
        SelectedSlot.TreatmentSlot.TargetPositiveQuirk = slot.QuirkInfo.Quirk.Id;
        RecalculateCost();
    }
Пример #12
0
    void CampingTrainerHeroWindow_onSkillClick(CampingSkillPurchaseSlot slot)
    {
        if (slot.Unlocked)
        {
            return;
        }
        else
        {
            float discount = 1 - DarkestDungeonManager.Campaign.Estate.CampingTrainer.Discount;

            if (DarkestDungeonManager.Campaign.Estate.BuyUpgrade(slot.Skill, slot.Hero, discount))
            {
                TownManager.EstateSceneManager.currencyPanel.UpdateCurrency();
                DarkestDungeonManager.Campaign.Estate.ReskillCampingHero(slot.Hero);
                UpdateHeroOverview();
                DarkestSoundManager.PlayOneShot("event:/town/trainer_purchase_skill");
            }
        }
    }
    public override void UpdateUpgradeTrees(bool afterPurchase = false)
    {
        Sanitarium.UpdateBuilding(DarkestDungeonManager.Campaign.Estate.TownPurchases);
        float ratio = DarkestDungeonManager.Campaign.Estate.GetBuildingUpgradeRatio(BuildingType.Sanitarium);

        upgradeWindow.upgradedValue.text = Mathf.RoundToInt(ratio * 100).ToString() + "%";

        if (afterPurchase && Mathf.Approximately(ratio, 1))
        {
            DarkestSoundManager.PlayOneShot("event:/town/purchase_upgrade_last");
        }

        foreach (var tree in upgradeWindow.upgradeTrees)
        {
            var currentUpgrades   = DarkestDungeonManager.Data.UpgradeTrees[tree.treeId].Upgrades;
            int lastPurchaseIndex = -1;
            for (int i = 0; i < tree.upgrades.Count; i++)
            {
                var status = DarkestDungeonManager.Campaign.Estate.GetUpgradeStatus(tree.treeId, currentUpgrades[i]);
                TownManager.UpdateUpgradeSlot(status, tree.upgrades[i]);
                if (status == UpgradeStatus.Purchased)
                {
                    lastPurchaseIndex = i;
                }
            }
            tree.UpdateConnector(lastPurchaseIndex);
        }

        for (int i = 0; i < 3; i++)
        {
            quirkSlots[i].UpdateSlot();
            diseaseSlots[i].UpdateSlot();
        }
        if (quirkWindow.isActiveAndEnabled)
        {
            quirkWindow.UpdateHeroOverview();
        }
        if (diseaseWindow.isActiveAndEnabled)
        {
            diseaseWindow.UpdateHeroOverview();
        }
    }
Пример #14
0
    public void OnPointerEnter(PointerEventData eventData)
    {
        if (Hero == null)
        {
            return;
        }

        Icon.material = DarkestDungeonManager.HighlightMaterial;
        if (DarkestDungeonManager.Campaign.Estate.GetUpgradeStatus(Tree.Id, Hero, Upgrade) == UpgradeStatus.Locked)
        {
            DarkestSoundManager.PlayOneShot("event:/ui/town/button_mouse_over_2");
            ToolTipManager.Instanse.Show(Equipment.Tooltip + "\n" +
                                         Upgrade.PrerequisitesTooltip(Hero, DarkestDungeonManager.Campaign.Estate), rectTransform, ToolTipStyle.FromRight, ToolTipSize.Normal);
        }
        else
        {
            DarkestSoundManager.PlayOneShot("event:/ui/town/button_mouse_over");
            ToolTipManager.Instanse.Show(Equipment.Tooltip, rectTransform, ToolTipStyle.FromRight, ToolTipSize.Normal);
        }
    }
Пример #15
0
 private void TownHeroSlotTreatmentButtonClicked(TownHeroSlot slot)
 {
     if (slot.ActivitySlot.Status == ActivitySlotStatus.Checkout)
     {
         if (DarkestDungeonManager.Campaign.Estate.CanPayGold(slot.ActivitySlot.BaseCost))
         {
             DarkestDungeonManager.Campaign.Estate.RemoveGold(slot.ActivitySlot.BaseCost);
             EstateSceneManager.Instanse.CurrencyPanel.UpdateCurrency();
             EstateSceneManager.Instanse.CurrencyPanel.CurrencyDecreased("gold");
             EstateSceneManager.Instanse.TownManager.GetHeroSlot(slot.ActivitySlot.Hero).SetStatus(HeroStatus.Abbey);
             slot.SetStatus(ActivitySlotStatus.Paid);
             DarkestSoundManager.PlayOneShot("event:/town/abbey_" + slot.ActivityName);
         }
     }
     else if (slot.ActivitySlot.Status == ActivitySlotStatus.Paid)
     {
         EstateSceneManager.Instanse.TownManager.GetHeroSlot(slot.ActivitySlot.Hero).SetStatus(HeroStatus.Available);
         slot.SetStatus(ActivitySlotStatus.Available);
     }
 }
Пример #16
0
 void TavernWindow_onTreatmentButtonClick(TownHeroSlot slot)
 {
     if (slot.ActivitySlot.Status == ActivitySlotStatus.Checkout)
     {
         if (DarkestDungeonManager.Campaign.Estate.CanPayGold(slot.ActivitySlot.BaseCost))
         {
             DarkestDungeonManager.Campaign.Estate.RemoveGold(slot.ActivitySlot.BaseCost);
             TownManager.EstateSceneManager.currencyPanel.UpdateCurrency();
             TownManager.EstateSceneManager.currencyPanel.CurrencyDecreased("gold");
             TownManager.GetHeroSlot(slot.ActivitySlot.Hero).SetStatus(HeroStatus.Tavern);
             slot.SetStatus(ActivitySlotStatus.Paid);
             DarkestSoundManager.PlayOneShot("event:/town/tavern_" + slot.activityName);
         }
     }
     else if (slot.ActivitySlot.Status == ActivitySlotStatus.Paid)
     {
         TownManager.GetHeroSlot(slot.ActivitySlot.Hero).SetStatus(HeroStatus.Available);
         slot.SetStatus(ActivitySlotStatus.Available);
     }
 }
Пример #17
0
    public void OnDrop(PointerEventData eventData)
    {
        if (eventData.pointerDrag.CompareTag("Roster Hero Slot"))
        {
            if (ActivitySlot == null || !ActivitySlot.IsUnlocked || !AllowedToDrop)
            {
                DarkestSoundManager.PlayOneShot("event:/ui/town/button_invalid");
                return;
            }

            if (ActivitySlot.Status == ActivitySlotStatus.Available)
            {
                var heroSlot = eventData.pointerDrag.GetComponent <HeroSlot>();
                ActivitySlot.Status = ActivitySlotStatus.Checkout;
                ActivitySlot.Hero   = heroSlot.Hero;
                UpdateSlot();
                DarkestSoundManager.PlayOneShot("event:/ui/town/character_add");
            }
        }
    }
Пример #18
0
    public void SortByRestriction()
    {
        DarkestSoundManager.PlayOneShot("event:/ui/town/sort_by");

        RealmInventory.Trinkets.Sort((x, y) =>
        {
            if (x.ClassRequirements.Count > 0)
            {
                if (y.ClassRequirements.Count > 0)
                {
                    int result = x.ClassRequirements[0].CompareTo(y.ClassRequirements[0]);
                    return(result == 0 ? x.Id.CompareTo(y.Id) : result);
                }
                else
                {
                    return(-1);
                }
            }
            else if (y.ClassRequirements.Count > 0)
            {
                return(1);
            }
            else
            {
                return(x.Id.CompareTo(y.Id));
            }
        });

        int trinketCount   = RealmInventory.Trinkets.Count;
        int trinketsLoaded = Mathf.Min(trinketCount, InventorySlots.Count);

        for (int i = 0; i < trinketsLoaded; i++)
        {
            InventorySlots[i].CreateItem(RealmInventory.Trinkets[i]);
        }

        for (int i = trinketsLoaded; i < InventorySlots.Count; i++)
        {
            InventorySlots[i].DeleteItem();
        }
    }
Пример #19
0
    public void RealmInventoryClick()
    {
        realmInventoryOpened = !realmInventoryOpened;
        if (realmInventoryOpened)
        {
            bottomPanel.RealmInventoryAnimator.state.SetAnimation(0, "selected", true);
            DarkestSoundManager.PlayOneShot("event:/ui/town/trinket_open");
        }
        else
        {
            bottomPanel.RealmInventoryAnimator.state.ClearTracks();
            bottomPanel.RealmInventoryAnimator.state.SetAnimation(0, "idle", false);
            DarkestSoundManager.PlayOneShot("event:/ui/town/trinket_close");
        }

        realmInventoryWindow.gameObject.SetActive(realmInventoryOpened);
        if (activityLogOpened)
        {
            ActivityLogClose();
        }
    }
Пример #20
0
    public void SortByName()
    {
        DarkestSoundManager.PlayOneShot("event:/ui/town/sort_by");

        RealmInventory.Trinkets.Sort((x, y) =>
                                     LocalizationManager.GetString(ToolTipManager.GetConcat("str_inventory_title_trinket", x.Id)).
                                     CompareTo(LocalizationManager.GetString(ToolTipManager.GetConcat("str_inventory_title_trinket", y.Id))));

        int trinketCount   = RealmInventory.Trinkets.Count;
        int trinketsLoaded = Mathf.Min(trinketCount, InventorySlots.Count);

        for (int i = 0; i < trinketsLoaded; i++)
        {
            InventorySlots[i].CreateItem(RealmInventory.Trinkets[i]);
        }

        for (int i = trinketsLoaded; i < InventorySlots.Count; i++)
        {
            InventorySlots[i].DeleteItem();
        }
    }
Пример #21
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");
        }
    }
 public void ActivityLogClick()
 {
     activityLogOpened = !activityLogOpened;
     if(activityLogOpened)
     {
         DarkestSoundManager.PlayOneShot("event:/ui/town/page_open");
         bottomPanel.ActivityLogAnimator.state.SetAnimation(0, "selected", false);
     }
     else
     {
         DarkestSoundManager.PlayOneShot("event:/ui/town/page_close");
         bottomPanel.ActivityLogAnimator.state.SetAnimation(0, "idle", false);
     }
     activityLogWindow.gameObject.SetActive(activityLogOpened);
     if (activityLogOpened)
     {
         if (realmInventoryOpened)
             RealmInventoryClose();
         if (characterWindowOpened)
             RosterCharacterInfoClose();
     }
 }
Пример #23
0
    public bool BuyUpgrade(string treeId, TownUpgrade upgrade, bool isFree)
    {
        if (!isFree && !CanPayPrice(upgrade.Cost))
        {
            return(false);
        }

        if (!TownPurchases.ContainsKey(treeId))
        {
            TownPurchases.Add(treeId, new UpgradePurchases(treeId, upgrade.Code));
        }
        else
        {
            if (TownPurchases[treeId].PurchasedUpgrades.Contains(upgrade.Code))
            {
                return(false);
            }

            TownPurchases[treeId].PurchasedUpgrades.Add(upgrade.Code);
        }

        if (!isFree)
        {
            RemoveCurrency(upgrade.Cost);
            if (upgrade.Cost.Find(cost => cost.Type != "gold" && cost.Amount > 0) != null)
            {
                EstateSceneManager.Instanse.CurrencyPanel.CurrencyDecreased("heirloom");
            }
        }

        if (DarkestDungeonManager.Data.UpgradeTrees.ContainsKey(treeId))
        {
            DarkestSoundManager.ExecuteNarration("upgrade_building", NarrationPlace.Town,
                                                 DarkestDungeonManager.Data.UpgradeTrees[treeId].Tags.ToArray());
        }

        DarkestSoundManager.PlayOneShot("event:/ui/town/buy");
        return(true);
    }
Пример #24
0
    IEnumerator SceneSlider()
    {
        DarkestSoundManager.PlayOneShot("event:/general/title_screen/campaign_button");
        if (PhotonNetwork.connected)
        {
            progressLabel.text = "Connected!";
        }
        else
        {
            progressLabel.text = "Disconnected!";
        }

        DisableInteraction();

        while (true)
        {
            if (470 < sceneryRect.offsetMax.y)
            {
                break;
            }

            Vector2 offsetMax = sceneryRect.offsetMax;
            offsetMax.y          += Time.deltaTime * 800;
            sceneryRect.offsetMax = offsetMax;
            Vector2 offsetMin = sceneryRect.offsetMin;
            offsetMin.y          += Time.deltaTime * 800;
            sceneryRect.offsetMin = offsetMin;
            yield return(null);
        }

        DarkestPhotonLauncher.Instanse.ConnectToMaster();
        yield return(new WaitForSeconds(1f));

        isSelecting = true;

        RefreshRoomList();
        EnableInteraction();
        yield break;
    }
Пример #25
0
    public void UnequipAllHeroes()
    {
        DarkestSoundManager.PlayOneShot("event:/ui/town/sort_by");
        bool hasUnequipped = false;

        for (int i = 0; i < DarkestDungeonManager.Campaign.Heroes.Count; i++)
        {
            var hero = DarkestDungeonManager.Campaign.Heroes[i];

            if (!(hero.Status == HeroStatus.Available || hero.Status == HeroStatus.RaidParty))
            {
                continue;
            }

            if (hero.LeftTrinket != null)
            {
                AddTrinket(hero.LeftTrinket);
                hero.Unequip(TrinketSlot.Left);
                hasUnequipped = true;
            }
            if (hero.RightTrinket != null)
            {
                AddTrinket(hero.RightTrinket);
                hero.Unequip(TrinketSlot.Right);
                hasUnequipped = true;
            }

            if (EstateSceneManager.Instanse.characterWindow.IsOpened)
            {
                EstateSceneManager.Instanse.characterWindow.UpdateCharacterInfo();
            }
        }

        if (hasUnequipped)
        {
            DarkestSoundManager.PlayOneShot("event:/ui/dungeon/trink_unequip");
        }
    }
Пример #26
0
    public void SortByRarity()
    {
        DarkestSoundManager.PlayOneShot("event:/ui/town/sort_by");

        RealmInventory.Trinkets.Sort((x, y) =>
        {
            int result = x.Rarity.CompareTo(y.Rarity);
            return(result == 0 ? x.Id.CompareTo(y.Id) : result);
        });

        int trinketCount   = RealmInventory.Trinkets.Count;
        int trinketsLoaded = Mathf.Min(trinketCount, InventorySlots.Count);

        for (int i = 0; i < trinketsLoaded; i++)
        {
            InventorySlots[i].CreateItem(RealmInventory.Trinkets[i]);
        }

        for (int i = trinketsLoaded; i < InventorySlots.Count; i++)
        {
            InventorySlots[i].DeleteItem();
        }
    }
Пример #27
0
    public void OnDrop(PointerEventData eventData)
    {
        if (eventData.pointerDrag.tag == "Roster Hero Slot")
        {
            if (TreatmentSlot == null || !TreatmentSlot.IsUnlocked)
            {
                DarkestSoundManager.PlayOneShot("event:/ui/town/button_invalid");
                return;
            }

            if (TreatmentSlot.Status == ActivitySlotStatus.Available)
            {
                var heroSlot = eventData.pointerDrag.GetComponent <HeroSlot>();
                TreatmentSlot.Status = ActivitySlotStatus.Checkout;
                TreatmentSlot.Hero   = heroSlot.Hero;
                if (onHeroDropped != null)
                {
                    onHeroDropped(this);
                }
                UpdateSlot();
                DarkestSoundManager.PlayOneShot("event:/ui/town/character_add");
            }
        }
    }
Пример #28
0
 public void TownEventClose()
 {
     bottomPanel.TownEventAnimator.state.SetAnimation(0, "idle", false);
     townEventWindow.gameObject.SetActive(false);
     DarkestSoundManager.PlayOneShot("event:/ui/town/page_close");
 }
Пример #29
0
 private void RosterPanelHeroResurrected(DeathRecord record)
 {
     ((GraveyardWindow)townManager.BuildingWindows[2]).HeroResurrected(record);
     townEventWindow.EventRecruits.UpdateRecruitPanel(DarkestDungeonManager.Campaign.Estate.StageCoach.EventHeroes);
     DarkestSoundManager.PlayOneShot("event:/town/graveyard_resurrect");
 }
Пример #30
0
 public void NukeButtonClick()
 {
     SaveLoadManager.DeleteSave(slotId);
     DarkestSoundManager.PlayOneShot("event:/ui/town/button_click");
     FillEmptySave();
 }