${T.mainMenu.puzzleDlcText}
${T.puzzleMenu.dlcHint}import { getLogoSprite } from "../core/background_resources_loader"; import { cachebust } from "../core/cachebust"; import { A_B_TESTING_LINK_TYPE, globalConfig, THIRDPARTY_URLS } from "../core/config"; import { GameState } from "../core/game_state"; import { DialogWithForm } from "../core/modal_dialog_elements"; import { FormElementInput } from "../core/modal_dialog_forms"; import { ReadWriteProxy } from "../core/read_write_proxy"; import { formatSecondsToTimeAgo, generateFileDownload, isSupportedBrowser, makeButton, makeButtonElement, makeDiv, removeAllChildren, startFileChoose, waitNextFrame, } from "../core/utils"; import { HUDModalDialogs } from "../game/hud/parts/modal_dialogs"; import { PlatformWrapperImplBrowser } from "../platform/browser/wrapper"; import { PlatformWrapperImplElectron } from "../platform/electron/wrapper"; import { getApplicationSettingById } from "../profile/application_settings"; import { T } from "../translations"; const trim = require("trim"); /** * @typedef {import("../savegame/savegame_typedefs").SavegameMetadata} SavegameMetadata * @typedef {import("../profile/setting_types").EnumSetting} EnumSetting */ export class MainMenuState extends GameState { constructor() { super("MainMenuState"); } getInnerHTML() { const showLanguageIcon = !G_CHINA_VERSION && !G_WEGAME_VERSION; const showExitAppButton = G_IS_STANDALONE; const showUpdateLabel = !G_WEGAME_VERSION; const showBrowserWarning = !G_IS_STANDALONE && !isSupportedBrowser(); const showPuzzleDLC = !G_WEGAME_VERSION && G_IS_STANDALONE; const showWegameFooter = G_WEGAME_VERSION; let showExternalLinks = true; if (G_IS_STANDALONE) { if (G_WEGAME_VERSION || G_CHINA_VERSION) { showExternalLinks = false; } } else { const wrapper = /** @type {PlatformWrapperImplBrowser} */ (this.app.platformWrapper); if (!wrapper.embedProvider.externalLinks) { showExternalLinks = false; } } let showDiscordLink = showExternalLinks; if (G_CHINA_VERSION) { showDiscordLink = true; } const showCrosspromo = !G_IS_STANDALONE && showExternalLinks; const showDemoAdvertisement = showExternalLinks && this.app.restrictionMgr.getIsStandaloneMarketingActive(); const ownsPuzzleDLC = G_IS_STANDALONE && /** @type { PlatformWrapperImplElectron}*/ (this.app.platformWrapper).dlcs.puzzle; const bannerHtml = `
${T.demoBanners.intro}
Get the shapez.io standalone! `; return `${T.mainMenu.puzzleDlcText}
${T.puzzleMenu.dlcHint}