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); } }
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"); }
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); } }
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(); } }
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"); } }
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(); } }
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(); }
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(); }
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(); } }
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); } }
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); } }
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); } }
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"); } } }
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(); } }
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(); } }
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(); } }
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(); } }
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); }
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; }
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"); } }
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(); } }
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"); } } }
public void TownEventClose() { bottomPanel.TownEventAnimator.state.SetAnimation(0, "idle", false); townEventWindow.gameObject.SetActive(false); DarkestSoundManager.PlayOneShot("event:/ui/town/page_close"); }
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"); }
public void NukeButtonClick() { SaveLoadManager.DeleteSave(slotId); DarkestSoundManager.PlayOneShot("event:/ui/town/button_click"); FillEmptySave(); }