pull/911/merge
Nexllon 2024-05-15 18:43:30 -03:00 committed by GitHub
commit 40d6eea82d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 5 deletions

View File

@ -14,11 +14,10 @@ export function updateUserInfo(): Promise<[boolean, integer]> {
if (bypassLogin) { if (bypassLogin) {
loggedInUser = { username: 'Guest', lastSessionSlot: -1 }; loggedInUser = { username: 'Guest', lastSessionSlot: -1 };
let lastSessionSlot = -1; let lastSessionSlot = -1;
for (let s = 0; s < 5; s++) { // Get last slot saved and checks if it has data to enable continue
if (localStorage.getItem(`sessionData${s ? s : ''}_${loggedInUser.username}`)) { const slotId = parseInt(localStorage.getItem('slotId'));
lastSessionSlot = s; if (localStorage.getItem(`sessionData${slotId ? slotId : ''}_${loggedInUser.username}`)) {
break; lastSessionSlot = slotId;
}
} }
loggedInUser.lastSessionSlot = lastSessionSlot; loggedInUser.lastSessionSlot = lastSessionSlot;
// Migrate old data from before the username was appended // Migrate old data from before the username was appended

View File

@ -753,6 +753,7 @@ export class GameData {
return new Promise<boolean>(resolve => { return new Promise<boolean>(resolve => {
if (bypassLogin) { if (bypassLogin) {
localStorage.removeItem(`sessionData${this.scene.sessionSlotId ? this.scene.sessionSlotId : ''}_${loggedInUser.username}`); localStorage.removeItem(`sessionData${this.scene.sessionSlotId ? this.scene.sessionSlotId : ''}_${loggedInUser.username}`);
updateUserInfo(); // Remove continue on session delete
return resolve(true); return resolve(true);
} }
@ -815,6 +816,7 @@ export class GameData {
return new Promise<[boolean, boolean]>(resolve => { return new Promise<[boolean, boolean]>(resolve => {
if (bypassLogin) { if (bypassLogin) {
localStorage.removeItem(`sessionData${slotId ? slotId : ''}_${loggedInUser.username}`); localStorage.removeItem(`sessionData${slotId ? slotId : ''}_${loggedInUser.username}`);
updateUserInfo(); // Remove continue on clear
return resolve([true, true]); return resolve([true, true]);
} }
@ -927,6 +929,8 @@ export class GameData {
}); });
} else { } else {
this.verify().then(success => { this.verify().then(success => {
// Last slot saved for continue purposes
localStorage.setItem('slotId', scene.sessionSlotId.toString());
this.scene.ui.savingIcon.hide(); this.scene.ui.savingIcon.hide();
resolve(success); resolve(success);
}); });