diff --git a/src/client/graphics/GameRenderer.ts b/src/client/graphics/GameRenderer.ts index 901ff166e..6fef871c0 100644 --- a/src/client/graphics/GameRenderer.ts +++ b/src/client/graphics/GameRenderer.ts @@ -13,6 +13,7 @@ import { ControlPanel } from "./layers/ControlPanel"; import { EmojiTable } from "./layers/EmojiTable"; import { EventsDisplay } from "./layers/EventsDisplay"; import { FxLayer } from "./layers/FxLayer"; +import { HeadsUpMessage } from "./layers/HeadsUpMessage"; import { Layer } from "./layers/Layer"; import { Leaderboard } from "./layers/Leaderboard"; import { MultiTabModal } from "./layers/MultiTabModal"; @@ -172,6 +173,14 @@ export function createRenderer( } playerTeamLabel.game = game; + const headsUpMessage = document.querySelector( + "heads-up-message", + ) as HeadsUpMessage; + if (!(headsUpMessage instanceof HeadsUpMessage)) { + console.error("heads-up message not found"); + } + headsUpMessage.game = game; + const unitInfoModal = document.querySelector( "unit-info-modal", ) as UnitInfoModal; @@ -220,6 +229,7 @@ export function createRenderer( topBar, playerPanel, playerTeamLabel, + headsUpMessage, unitInfoModal, multiTabModal, ]; diff --git a/src/client/graphics/layers/HeadsUpMessage.ts b/src/client/graphics/layers/HeadsUpMessage.ts new file mode 100644 index 000000000..8dd68d59a --- /dev/null +++ b/src/client/graphics/layers/HeadsUpMessage.ts @@ -0,0 +1,46 @@ +import { LitElement, html } from "lit"; +import { customElement, state } from "lit/decorators.js"; +import { GameView } from "../../../core/game/GameView"; +import { Layer } from "./Layer"; + +@customElement("heads-up-message") +export class HeadsUpMessage extends LitElement implements Layer { + public game: GameView; + + @state() + private isVisible = false; + + createRenderRoot() { + return this; + } + + init() { + this.isVisible = true; + this.requestUpdate(); + } + + tick() { + if (!this.game.inSpawnPhase()) { + this.isVisible = false; + this.requestUpdate(); + } + } + + render() { + if (!this.isVisible) { + return html``; + } + + return html` +
e.preventDefault()} + > + Choose a starting location +
+ `; + } +} diff --git a/src/client/index.html b/src/client/index.html index 3e15ba515..dc635b838 100644 --- a/src/client/index.html +++ b/src/client/index.html @@ -299,6 +299,11 @@ +
+ +