mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-15 03:49:33 +02:00
Merge pull request #1 from DayKev/pr/5978-review
Add all active challenges to default challenge session name if possible
This commit is contained in:
commit
eef6818970
@ -3,7 +3,7 @@ import type { InputFieldConfig } from "./form-modal-ui-handler";
|
|||||||
import { FormModalUiHandler } from "./form-modal-ui-handler";
|
import { FormModalUiHandler } from "./form-modal-ui-handler";
|
||||||
import type { ModalConfig } from "./modal-ui-handler";
|
import type { ModalConfig } from "./modal-ui-handler";
|
||||||
|
|
||||||
export default class RenameRunFormUiHandler extends FormModalUiHandler {
|
export class RenameRunFormUiHandler extends FormModalUiHandler {
|
||||||
getModalTitle(_config?: ModalConfig): string {
|
getModalTitle(_config?: ModalConfig): string {
|
||||||
return i18next.t("menu:renamerun");
|
return i18next.t("menu:renamerun");
|
||||||
}
|
}
|
||||||
|
@ -499,27 +499,49 @@ class SessionSlot extends Phaser.GameObjects.Container {
|
|||||||
this.add(this.loadingLabel);
|
this.add(this.loadingLabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
decideFallback(data: SessionSaveData) {
|
/**
|
||||||
let fallbackName;
|
* Generates a name for sessions that don't have a name yet.
|
||||||
|
* @param data - The {@linkcode SessionSaveData} being checked
|
||||||
|
* @returns The default name for the given data.
|
||||||
|
*/
|
||||||
|
decideFallback(data: SessionSaveData): string {
|
||||||
|
let fallbackName = `${GameMode.getModeName(data.gameMode)}`;
|
||||||
switch (data.gameMode) {
|
switch (data.gameMode) {
|
||||||
case GameModes.CLASSIC:
|
case GameModes.CLASSIC:
|
||||||
fallbackName = `${GameMode.getModeName(data.gameMode)} (${globalScene.gameData.gameStats.classicSessionsPlayed + 1})`;
|
fallbackName += ` (${globalScene.gameData.gameStats.classicSessionsPlayed + 1})`;
|
||||||
break;
|
break;
|
||||||
case GameModes.ENDLESS:
|
case GameModes.ENDLESS:
|
||||||
case GameModes.SPLICED_ENDLESS:
|
case GameModes.SPLICED_ENDLESS:
|
||||||
fallbackName = `${GameMode.getModeName(data.gameMode)} (${globalScene.gameData.gameStats.endlessSessionsPlayed + 1})`;
|
fallbackName += ` (${globalScene.gameData.gameStats.endlessSessionsPlayed + 1})`;
|
||||||
break;
|
break;
|
||||||
case GameModes.DAILY: {
|
case GameModes.DAILY: {
|
||||||
const runDay = new Date(data.timestamp).toLocaleDateString();
|
const runDay = new Date(data.timestamp).toLocaleDateString();
|
||||||
fallbackName = `${GameMode.getModeName(data.gameMode)} (${runDay})`;
|
fallbackName += ` (${runDay})`;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GameModes.CHALLENGE:
|
case GameModes.CHALLENGE: {
|
||||||
fallbackName = data.challenges
|
const activeChallenges = data.challenges.filter(c => c.value !== 0);
|
||||||
.find(c => c.value !== 0)
|
if (activeChallenges.length === 0) {
|
||||||
?.toChallenge()
|
break;
|
||||||
.getName();
|
}
|
||||||
|
|
||||||
|
fallbackName = "";
|
||||||
|
for (const challenge of activeChallenges.slice(0, 3)) {
|
||||||
|
if (fallbackName !== "") {
|
||||||
|
fallbackName += ", ";
|
||||||
|
}
|
||||||
|
fallbackName += challenge.toChallenge().getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (activeChallenges.length > 3) {
|
||||||
|
fallbackName += ", ...";
|
||||||
|
} else if (fallbackName === "") {
|
||||||
|
// Something went wrong when retrieving the names of the active challenges,
|
||||||
|
// so fall back to just naming the run "Challenge"
|
||||||
|
fallbackName = `${GameMode.getModeName(data.gameMode)}`;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return fallbackName;
|
return fallbackName;
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ import { addWindow } from "#ui/ui-theme";
|
|||||||
import { UnavailableModalUiHandler } from "#ui/unavailable-modal-ui-handler";
|
import { UnavailableModalUiHandler } from "#ui/unavailable-modal-ui-handler";
|
||||||
import { executeIf } from "#utils/common";
|
import { executeIf } from "#utils/common";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import RenameRunFormUiHandler from "./rename-run-ui-handler";
|
import { RenameRunFormUiHandler } from "./rename-run-ui-handler";
|
||||||
|
|
||||||
const transitionModes = [
|
const transitionModes = [
|
||||||
UiMode.SAVE_SLOT,
|
UiMode.SAVE_SLOT,
|
||||||
|
Loading…
Reference in New Issue
Block a user