From 3d838d91ae78e3c0d86d25b6fc23ec7b3e616378 Mon Sep 17 00:00:00 2001 From: evanpelle Date: Fri, 20 Sep 2024 20:05:32 -0700 Subject: [PATCH] auto delete alliance request if no reply --- TODO.txt | 1 + src/client/graphics/layers/EventsDisplay.ts | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/TODO.txt b/TODO.txt index 4b849bd16..b4ffd8bd4 100644 --- a/TODO.txt +++ b/TODO.txt @@ -129,6 +129,7 @@ * create event box DONE 9/20/2024 * BUG: left click lost after right click DONE 9/20/2024 * eventbox events dissapear after timeout DONE 9/20/2024 +* auto reject alliance when event dissapears * first place has crown * make fake humans easier * BUG: FakeHuman don't be enemy if don't share border diff --git a/src/client/graphics/layers/EventsDisplay.ts b/src/client/graphics/layers/EventsDisplay.ts index 3543883f6..0cede6ea0 100644 --- a/src/client/graphics/layers/EventsDisplay.ts +++ b/src/client/graphics/layers/EventsDisplay.ts @@ -20,6 +20,7 @@ interface Event { }[]; highlight?: boolean; createdAt: number + onDelete?: () => void } export class EventsDisplay implements Layer { @@ -48,6 +49,8 @@ export class EventsDisplay implements Layer { for (const event of this.events) { if (this.game.ticks() - event.createdAt < 100) { remainingEvent.push(event) + } else if (event.onDelete != null) { + event.onDelete() } } this.events = remainingEvent @@ -97,7 +100,8 @@ export class EventsDisplay implements Layer { } ], highlight: true, - createdAt: this.game.ticks() + createdAt: this.game.ticks(), + onDelete: () => this.eventBus.emit(new AllianceRequestReplyUIEvent(event.allianceRequest, false)) }); this.renderTable() }