@@ -24,11 +24,11 @@ public async Task SaveAsync()
2424 {
2525 Inventory = state . Inventory . ToDictionary ( k => k . Key , v => v . Value ) ,
2626 MagicCapacity = state . MagicCapacity ,
27- PinnedItems = state . PinnedItems . ToList ( ) ,
28- UnlockedCadences = state . UnlockedCadenceNames . ToList ( ) ,
29- UnlockedAbilities = state . UnlockedAbilities . ToList ( ) ,
30- CompletedQuests = state . CompletedQuests . ToList ( ) ,
31- ActiveQuests = state . ActiveQuests . Select ( q => new QuestProgressDTO {
27+ PinnedItems = [ .. state . PinnedItems ] ,
28+ UnlockedCadences = [ .. state . UnlockedCadenceNames ] ,
29+ UnlockedAbilities = [ .. state . UnlockedAbilities ] ,
30+ CompletedQuests = [ .. state . CompletedQuests ] ,
31+ ActiveQuests = [ .. state . ActiveQuests . Select ( q => new QuestProgressDTO {
3232 ItemName = q . Name ,
3333 AbilityName = q . Item is CadenceUnlock cu ? cu . CadenceName : "" ,
3434 ItemType = q . Item is QuestData ? "Quest" : ( q . Item is CadenceUnlock ? "CadenceUnlock" : "Refinement" ) ,
@@ -38,20 +38,20 @@ public async Task SaveAsync()
3838 SlotIndex = q . SlotIndex ,
3939 Description = q . Description ,
4040 DurationSeconds = q . DurationSeconds
41- } ) . ToList ( ) ,
42- Junctions = state . Junctions . Select ( j => new JunctionDTO {
41+ } ) ] ,
42+ Junctions = [ .. state . Junctions . Select ( j => new JunctionDTO {
4343 CharacterName = j . Character . Name ,
4444 StatName = j . Stat . Name ,
4545 MagicName = j . Magic . Name
46- } ) . ToList ( ) ,
47- AssignedCadences = state . AssignedCadences . Where ( kvp => kvp . Value != null ) . Select ( kvp => new AssignedCadenceDTO {
46+ } ) ] ,
47+ AssignedCadences = [ .. state . AssignedCadences . Where ( kvp => kvp . Value != null ) . Select ( kvp => new AssignedCadenceDTO {
4848 CadenceName = kvp . Key ,
4949 CharacterName = kvp . Value !
50- } ) . ToList ( ) ,
50+ } ) ] ,
5151 AutoQuestEnabled = state . AutoQuestEnabled . ToDictionary ( k => k . Key , v => v . Value ) ,
52- UnlockedLocations = state . UnlockedLocationNames . ToList ( ) ,
53- StarredRecipes = state . StarredRecipes . ToList ( ) ,
54- SeenContent = state . SeenContent . ToList ( ) ,
52+ UnlockedLocations = [ .. state . UnlockedLocationNames ] ,
53+ StarredRecipes = [ .. state . StarredRecipes ] ,
54+ SeenContent = [ .. state . SeenContent ] ,
5555 HasUnseenCadence = state . HasUnseenCadence ,
5656 HasUnseenWorkshop = state . HasUnseenWorkshop ,
5757 CurrentTime = state . CurrentTime ,
@@ -119,33 +119,29 @@ public async Task LoadAsync()
119119 double bonusSeconds = ( DateTime . Now - saveData . LastSaveTime ) . TotalSeconds ;
120120 var activeQuestsWithBonus = activeQuests . Select ( q => q with { SecondsElapsed = q . SecondsElapsed + Math . Max ( 0 , bonusSeconds ) } ) . ToImmutableList ( ) ;
121121
122- var journal = saveData . Journal . Select ( j => new JournalEntry ( j . TaskName , j . CharacterName , j . Details , j . CompletedAt , j . IsFirstTime , j . WasCancelled ) ) . ToImmutableList ( ) ;
123-
124122 var state = new GameState (
125123 Inventory : inventory ,
126124 MagicCapacity : saveData . MagicCapacity ,
127125 PinnedItems : pinnedItems ,
128126 AssignedCadences : saveData . AssignedCadences . ToImmutableDictionary ( x => x . CadenceName , x => ( string ? ) x . CharacterName ) ,
129127 Junctions : junctions ,
130128 CharacterPermanentStatBoosts : saveData . CharacterStatBoosts . ToImmutableDictionary ( k => k . Key , v => v . Value . ToImmutableDictionary ( ) ) ,
131- CompletedQuests : saveData . CompletedQuests . ToImmutableHashSet ( ) ,
132- UnlockedAbilities : saveData . UnlockedAbilities . ToImmutableHashSet ( ) ,
129+ CompletedQuests : [ .. saveData . CompletedQuests ] ,
130+ UnlockedAbilities : [ .. saveData . UnlockedAbilities ] ,
133131 ActiveQuests : activeQuestsWithBonus ,
134132 AutoQuestEnabled : saveData . AutoQuestEnabled . ToImmutableDictionary ( ) ,
135- StarredRecipes : saveData . StarredRecipes . ToImmutableHashSet ( ) ,
136- UnlockedLocationNames : saveData . UnlockedLocations . ToImmutableHashSet ( ) ,
137- UnlockedCadenceNames : saveData . UnlockedCadences . ToImmutableHashSet ( ) ,
138- HighlightedPath : ImmutableHashSet < string > . Empty ,
139- Journal : journal ,
140- CharacterMiniLogs : saveData . CharacterMiniLogs . ToImmutableDictionary ( kvp => kvp . Key , kvp => kvp . Value . ToImmutableList < string > ( ) ) ,
141- EverPerformedActivities : saveData . EverPerformedActivities . ToImmutableHashSet ( ) ,
142- SeenContent : saveData . SeenContent . ToImmutableHashSet ( ) ,
133+ StarredRecipes : [ .. saveData . StarredRecipes ] ,
134+ UnlockedLocationNames : [ .. saveData . UnlockedLocations ] ,
135+ UnlockedCadenceNames : [ .. saveData . UnlockedCadences ] ,
136+ LastFinishedActivity : saveData . LastFinishedActivities . ToImmutableDictionary ( ) ,
137+ HighlightedPath : [ ] ,
138+ EverPerformedActivities : [ .. saveData . EverPerformedActivities ] ,
139+ SeenContent : [ .. saveData . SeenContent ] ,
143140 CurrentTime : saveData . CurrentTime ,
144141 IsTestMode : saveData . IsTestMode ,
145142 HasUnseenCadence : saveData . HasUnseenCadence ,
146143 HasUnseenWorkshop : saveData . HasUnseenWorkshop ,
147- ActiveTab : saveData . ActiveTab ,
148- ShowMiniLogs : saveData . ShowMiniLogs
144+ ActiveTab : saveData . ActiveTab
149145 ) ;
150146
151147 gameStore . Dispatch ( new SetStateAction ( state ) ) ;
0 commit comments