From c242865a6b698f1cbfb9f984995243319beac0b0 Mon Sep 17 00:00:00 2001 From: Aotumuri Date: Tue, 6 May 2025 13:59:22 +0900 Subject: [PATCH] fixed bug --- resources/QuickChat.json | 29 ++++++++++++++++++++++- src/client/graphics/GameRenderer.ts | 2 +- src/client/graphics/layers/ChatDisplay.ts | 8 +++++++ src/client/graphics/layers/ChatModal.ts | 1 + 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/resources/QuickChat.json b/resources/QuickChat.json index 7f3a8a1d9..e22eb5b0c 100644 --- a/resources/QuickChat.json +++ b/resources/QuickChat.json @@ -7,7 +7,7 @@ }, { "key": "gold", - "text": "Please give me golds!", + "text": "Please give me gold!", "requiresPlayer": false }, { @@ -133,5 +133,32 @@ "text": "When will my PR finally get merged...?", "requiresPlayer": false } + ], + "warnings": [ + { + "key": "strong", + "text": "[P1] is strong.", + "requiresPlayer": true + }, + { + "key": "weak", + "text": "[P1] is weak.", + "requiresPlayer": true + }, + { + "key": "mirv_soon", + "text": "[P1] can launch a MIRV soon!", + "requiresPlayer": true + }, + { + "key": "number1_warning", + "text": "The #1 player will win soon unless we team up!", + "requiresPlayer": false + }, + { + "key": "stalemate", + "text": "Let's make peace. This is a stalemate, we will both lose.", + "requiresPlayer": false + } ] } diff --git a/src/client/graphics/GameRenderer.ts b/src/client/graphics/GameRenderer.ts index 008b6993f..17f8bc30f 100644 --- a/src/client/graphics/GameRenderer.ts +++ b/src/client/graphics/GameRenderer.ts @@ -90,7 +90,7 @@ export function createRenderer( eventsDisplay.clientID = clientID; const chatDisplay = document.querySelector("chat-display") as ChatDisplay; - if (!(eventsDisplay instanceof ChatDisplay)) { + if (!(chatDisplay instanceof ChatDisplay)) { consolex.error("chat display not found"); } chatDisplay.eventBus = eventBus; diff --git a/src/client/graphics/layers/ChatDisplay.ts b/src/client/graphics/layers/ChatDisplay.ts index e22a6fe00..84199942c 100644 --- a/src/client/graphics/layers/ChatDisplay.ts +++ b/src/client/graphics/layers/ChatDisplay.ts @@ -26,6 +26,8 @@ export class ChatDisplay extends LitElement implements Layer { public game: GameView; public clientID: ClientID; + private active: boolean = false; + private updateMap = new Map([ [GameUpdateType.DisplayEvent, (u) => this.onDisplayMessageEvent(u)], ]); @@ -78,6 +80,7 @@ export class ChatDisplay extends LitElement implements Layer { init() {} tick() { + this.active = true; const updates = this.game.updatesSinceLastTick(); const messages = updates[GameUpdateType.DisplayEvent] as | DisplayMessageUpdate[] @@ -109,6 +112,8 @@ export class ChatDisplay extends LitElement implements Layer { if (this.chatEvents.length > 100) { this.chatEvents = this.chatEvents.slice(-100); } + + this.requestUpdate(); } private getChatContent( @@ -120,6 +125,9 @@ export class ChatDisplay extends LitElement implements Layer { } render() { + if (!this.active) { + return html``; + } return html`