diff --git a/src/loading-scene.ts b/src/loading-scene.ts index c270a443669..2cdc0830c73 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -30,7 +30,7 @@ export class LoadingScene extends SceneBase { // Load menu images this.loadAtlas('bg', 'ui'); - if (new TimedEventManager().isEventActive()) { + if (new TimedEventManager().isEventActive() && new TimedEventManager().activeEventHasBanner()) { this.loadImage(new TimedEventManager().getEventBannerFilename(), 'events') } this.loadImage('command_fight_labels', 'ui'); diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts index 0bcb22378cf..a752882ee52 100644 --- a/src/timed-event-manager.ts +++ b/src/timed-event-manager.ts @@ -33,6 +33,19 @@ export class TimedEventManager { return false; } + activeEventHasBanner(): boolean { + for (const timedEvent of timedEvents) { + const eventStart = new Date(timedEvent.startDate); + const now = new Date(); + const eventEnd = new Date(timedEvent.endDate); + + if (eventStart < now && now < eventEnd && timedEvent.bannerFilename) { + return true; + } + } + return false; + } + getShinyMultiplier(): number { let multiplier = 1; for (const timedEvent of timedEvents) { @@ -51,7 +64,7 @@ export class TimedEventManager { const now = new Date(); const eventEnd = new Date(timedEvent.endDate); - if (eventStart < now && now < eventEnd) { + if (eventStart < now && now < eventEnd && timedEvent.bannerFilename) { return timedEvent.bannerFilename; } } diff --git a/src/ui/title-ui-handler.ts b/src/ui/title-ui-handler.ts index 031f2a67c07..1b4b80ea0d2 100644 --- a/src/ui/title-ui-handler.ts +++ b/src/ui/title-ui-handler.ts @@ -16,6 +16,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler { private splashMessageText: Phaser.GameObjects.Text; private titleStatsTimer: number; + private timedEventManager: TimedEventManager = new TimedEventManager(); constructor(scene: BattleScene, mode: Mode = Mode.TITLE) { super(scene, mode); @@ -35,13 +36,12 @@ export default class TitleUiHandler extends OptionSelectUiHandler { this.titleContainer.add(logo); - if (new TimedEventManager().isEventActive()) { + if (this.timedEventManager.isEventActive() && this.timedEventManager.activeEventHasBanner()) { const banner = this.scene.add.image((this.scene.game.canvas.width / 6.5) / 2, (this.scene.game.canvas.height / 4.65) / 2, new TimedEventManager().getEventBannerFilename()); banner.displayWidth = this.scene.game.canvas.width / 18.33 banner.displayHeight = banner.displayWidth / 3 banner.setOrigin(0.315, -0.8); - this.titleContainer.add(banner); }