diff --git a/src/client/graphics/GameRenderer.ts b/src/client/graphics/GameRenderer.ts index e2b0e15f9..58b298c13 100644 --- a/src/client/graphics/GameRenderer.ts +++ b/src/client/graphics/GameRenderer.ts @@ -15,7 +15,6 @@ import { EventsDisplay } from "./layers/EventsDisplay"; import { FxLayer } from "./layers/FxLayer"; import { Layer } from "./layers/Layer"; import { Leaderboard } from "./layers/Leaderboard"; -import { LeftInGameAd } from "./layers/LeftInGameAd"; import { MultiTabModal } from "./layers/MultiTabModal"; import { NameLayer } from "./layers/NameLayer"; import { OptionsMenu } from "./layers/OptionsMenu"; @@ -172,14 +171,6 @@ export function createRenderer( } playerTeamLabel.game = game; - const leftInGameAd = document.querySelector( - "left-in-game-ad", - ) as LeftInGameAd; - if (!(leftInGameAd instanceof LeftInGameAd)) { - console.error("left in game ad not found"); - } - leftInGameAd.g = game; - const layers: Layer[] = [ new TerrainLayer(game, transformHandler), new TerritoryLayer(game, eventBus), @@ -213,7 +204,6 @@ export function createRenderer( playerPanel, playerTeamLabel, multiTabModal, - leftInGameAd, ]; return new GameRenderer( diff --git a/src/client/graphics/layers/LeftInGameAd.ts b/src/client/graphics/layers/LeftInGameAd.ts deleted file mode 100644 index 65ef3598e..000000000 --- a/src/client/graphics/layers/LeftInGameAd.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { LitElement, css, html } from "lit"; -import { customElement, state } from "lit/decorators.js"; -import { GameView } from "../../../core/game/GameView"; -import { Layer } from "./Layer"; - -declare global { - interface Window { - aiptag: { - cmd: { - display: { - push: (callback: () => void) => void; - }; - }; - }; - aipDisplayTag: { - display: (id: string) => void; - }; - } -} - -const BREAKPOINT = { - width: 1000, - height: 800, -}; - -const AD_SIZE = "openfront-io_300x250_game"; - -@customElement("left-in-game-ad") -export class LeftInGameAd extends LitElement implements Layer { - public g: GameView; - - @state() - private isVisible: boolean = false; - - // Override createRenderRoot to disable shadow DOM - createRenderRoot() { - return this; - } - - static styles = css` - .ad-container { - position: fixed; - left: 0; - top: 50%; - transform: translateY(-50%); - z-index: 9000; - pointer-events: auto; - } - `; - - constructor() { - super(); - } - - public show(): void { - this.isVisible = true; - this.requestUpdate(); - // Refresh the ad when showing - setTimeout(() => this.refreshAd(), 100); - } - - public hide(): void { - this.isVisible = false; - this.requestUpdate(); - } - - public async tick() { - if (!this.isVisible && !this.g.inSpawnPhase() && this.screenLargeEnough()) { - console.log("showing left in game ad"); - this.show(); - } - if (this.isVisible && !this.screenLargeEnough()) { - console.log("hiding left in game ad"); - this.hide(); - } - } - - private screenLargeEnough(): boolean { - return ( - window.innerWidth > BREAKPOINT.width && - window.innerHeight > BREAKPOINT.height - ); - } - - private refreshAd(): void { - if (window.aiptag && window.aiptag.cmd && window.aiptag.cmd.display) { - window.aiptag.cmd.display.push( - function () { - if (window.aipDisplayTag) { - window.aipDisplayTag.display(AD_SIZE); - } - }.bind(this), - ); - } - } - - render() { - if (!this.isVisible) { - return html``; - } - - return html` -
-
-
- `; - } -} diff --git a/src/client/index.html b/src/client/index.html index f308853e6..9c6d7624c 100644 --- a/src/client/index.html +++ b/src/client/index.html @@ -135,25 +135,6 @@ gtag("config", "G-WQGQQ8RDN4"); - - -
- -
-
- -
-
-
-
- -
-
-