File tree Expand file tree Collapse file tree 3 files changed +25
-2
lines changed Expand file tree Collapse file tree 3 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -240,7 +240,15 @@ function selectGame(game: Game) {
240
240
selectedGame .value = game ;
241
241
isSettingDefaultPlatform .value = false ;
242
242
if (game .storePlatformMetadata .length > 1 ) {
243
- selectedPlatform .value = null ;
243
+ ManagerSettings .getSingleton (game )
244
+ .then (settings => settings .getLastSelectedPlatform ())
245
+ .then (platform => {
246
+ if (platform ) {
247
+ selectedPlatform .value = Platform [platform ]
248
+ } else {
249
+ selectedPlatform .value = null ;
250
+ }
251
+ });
244
252
showPlatformModal .value = true ;
245
253
} else {
246
254
selectedPlatform .value = game .storePlatformMetadata [0 ].storePlatform ;
@@ -297,6 +305,7 @@ async function proceed() {
297
305
298
306
const settings = await ManagerSettings .getSingleton (selectedGame .value );
299
307
await settings .setLastSelectedGame (selectedGame .value );
308
+ await settings .setLastSelectedPlatform (selectedPlatform .value );
300
309
await GameManager .activate (selectedGame .value , selectedPlatform .value );
301
310
await store .dispatch (" setActiveGame" , selectedGame .value );
302
311
@@ -312,7 +321,7 @@ async function proceedDefault() {
312
321
await settings .setDefaultGame (selectedGame .value );
313
322
await settings .setDefaultStorePlatform (selectedPlatform .value );
314
323
315
- proceed ();
324
+ return proceed ();
316
325
}
317
326
318
327
function toggleFavourite(game : Game ) {
Original file line number Diff line number Diff line change @@ -172,6 +172,13 @@ export default class ManagerSettings {
172
172
return undefined ;
173
173
}
174
174
175
+ public getLastSelectedPlatform ( ) : Platform | null {
176
+ if ( ManagerSettings . CONTEXT . gameSpecific . lastSelectedPlatform ) {
177
+ return EnumResolver . from < Platform > ( Platform , ManagerSettings . CONTEXT . gameSpecific . lastSelectedPlatform ) ;
178
+ }
179
+ return null ;
180
+ }
181
+
175
182
public async setInstalledDisablePosition ( disablePosition : string ) {
176
183
ManagerSettings . CONTEXT . gameSpecific . installedDisablePosition = EnumResolver . from < SortLocalDisabledMods > ( SortLocalDisabledMods , disablePosition ) ;
177
184
await this . save ( ) ;
@@ -210,4 +217,9 @@ export default class ManagerSettings {
210
217
ManagerSettings . CONTEXT . gameSpecific . launchType = launchType ;
211
218
await this . save ( ) ;
212
219
}
220
+
221
+ public async setLastSelectedPlatform ( platform : Platform ) {
222
+ ManagerSettings . CONTEXT . gameSpecific . lastSelectedPlatform = platform ;
223
+ await this . save ( ) ;
224
+ }
213
225
}
Original file line number Diff line number Diff line change @@ -132,6 +132,7 @@ export default class SettingsDexieStore extends Dexie {
132
132
launchParameters : "" ,
133
133
linkedFiles : [ ] ,
134
134
launchType : LaunchType . AUTO ,
135
+ lastSelectedPlatform : null ,
135
136
}
136
137
}
137
138
}
@@ -214,6 +215,7 @@ export interface ManagerSettingsInterfaceGame_V2 {
214
215
installedSortDirection : string ;
215
216
installedDisablePosition : string ;
216
217
launchType : string ;
218
+ lastSelectedPlatform : string | null ;
217
219
}
218
220
219
221
/**
You can’t perform that action at this time.
0 commit comments