private void Start() { if (Instanse != this) { return; } if (DarkestDungeonManager.RaidManager.Status != RaidStatus.Preparation) { DarkestDungeonManager.Campaign.NarrationRaidInfo.Clear(); foreach (var heroInfo in DarkestDungeonManager.RaidManager.RaidParty.HeroInfo) { if (heroInfo.IsAlive) { heroInfo.Hero.TownReset(); } else { DarkestDungeonManager.Campaign.Heroes.Remove(heroInfo.Hero); DarkestDungeonManager.Campaign.Estate.Graveyard.Records.Add(heroInfo.DeathRecord); } } if (DarkestDungeonManager.RaidManager.Quest.Goal.Id == "tutorial_final_room") { DarkestDungeonManager.Campaign.ExecuteProgress(); DarkestDungeonManager.Campaign.CurrentLog().ReturnRecord = new PartyActivityRecord(PartyActionType.Tutorial, DarkestDungeonManager.RaidManager); } else { DarkestDungeonManager.Campaign.ExecuteProgress(); DarkestDungeonManager.Campaign.AdvanceNextWeek(); DarkestDungeonManager.Campaign.CurrentLog().ReturnRecord = new PartyActivityRecord(PartyActionType.Result, DarkestDungeonManager.RaidManager); } DarkestSoundManager.ExecuteNarration("town_visit_start", NarrationPlace.Town, DarkestDungeonManager.RaidManager.Status == RaidStatus.Success ? "successes" : "fail", DarkestDungeonManager.Campaign.TriggeredEvent != null ? DarkestDungeonManager.Campaign.TriggeredEvent.Id : "not_triggered", DarkestDungeonManager.Campaign.GuaranteedEvent != null ? DarkestDungeonManager.Campaign.GuaranteedEvent.Id : "not_guaranteed"); } else { if (DarkestDungeonManager.SaveData.InRaid) { DarkestDungeonManager.SkipTransactions = true; if (!DarkestDungeonManager.SaveData.Quest.IsPlotQuest || DarkestDungeonManager.SaveData.Quest.Goal.Id == "tutorial_final_room") { DarkestDungeonManager.LoadingInfo.SetNextScene("Dungeon", "Screen/loading_screen." + DarkestDungeonManager.SaveData.Quest.Dungeon + "_0"); } else { DarkestDungeonManager.LoadingInfo.SetNextScene("Dungeon", "Screen/loading_screen.plot_" + ((PlotQuest)DarkestDungeonManager.SaveData.Quest).Id); } SceneManager.LoadScene("LoadingScreen", LoadSceneMode.Single); return; } else { DarkestSoundManager.ExecuteNarration("town_visit_start", NarrationPlace.Town); } } glossaryWindow.Initialize(); activityLogWindow.Initialize(); if (DarkestDungeonManager.Campaign.TriggeredEvent == null) { bottomPanel.TownEventButton.gameObject.SetActive(false); } else { bottomPanel.TownEventButton.gameObject.SetActive(true); townEventWindow.UpdateEvent(DarkestDungeonManager.Campaign.TriggeredEvent); } CurrencyPanel.UpdateCurrency(); RosterPanel.InitializeRoster(); realmInventoryWindow.Populate(); estateTitle.text = string.Format(LocalizationManager.GetString("estate_title_format"), DarkestDungeonManager.Campaign.Estate.EstateTitle); townManager.InitializeBuildings(); StartCoroutine(LoadEstateEvent()); if (DarkestDungeonManager.RaidManager.Status != RaidStatus.Preparation) { DarkestDungeonManager.SaveData.UpdateFromEstate(); DarkestDungeonManager.Instanse.SaveGame(); DarkestDungeonManager.RaidManager.Status = RaidStatus.Preparation; } DarkestSoundManager.StartTownSoundtrack(); }