From 959a365de66438eb5831944fb07e8dda5a5e09e4 Mon Sep 17 00:00:00 2001 From: tobspr Date: Thu, 9 Jun 2022 10:01:02 +0200 Subject: [PATCH] Allow specifying abt in url params --- src/js/core/query_parameters.js | 5 +++++ src/js/platform/browser/game_analytics.js | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/js/core/query_parameters.js b/src/js/core/query_parameters.js index b3dab1b3..75b44483 100644 --- a/src/js/core/query_parameters.js +++ b/src/js/core/query_parameters.js @@ -3,8 +3,13 @@ const options = queryString.parse(location.search); export let queryParamOptions = { embedProvider: null, + abtVariant: null, }; if (options.embed) { queryParamOptions.embedProvider = options.embed; } + +if (options.abt) { + queryParamOptions.abtVariant = options.abtVariant; +} diff --git a/src/js/platform/browser/game_analytics.js b/src/js/platform/browser/game_analytics.js index 76ab24d4..416f2b99 100644 --- a/src/js/platform/browser/game_analytics.js +++ b/src/js/platform/browser/game_analytics.js @@ -1,5 +1,6 @@ import { globalConfig } from "../../core/config"; import { createLogger } from "../../core/logging"; +import { queryParamOptions } from "../../core/query_parameters"; import { randomInt } from "../../core/utils"; import { BeltComponent } from "../../game/components/belt"; import { StaticMapEntityComponent } from "../../game/components/static_map_entity"; @@ -58,8 +59,13 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface { }, err => { if (err === FILE_NOT_FOUND) { - this.abtVariant = String(randomInt(0, CURRENT_ABT_COUNT - 1)); - logger.log("Set", CURRENT_ABT, "to", this.abtVariant); + if (typeof queryParamOptions.abtVariant === "string") { + this.abtVariant = queryParamOptions.abtVariant; + logger.log("Set", CURRENT_ABT, "to (OVERRIDE) ", this.abtVariant); + } else { + this.abtVariant = String(randomInt(0, CURRENT_ABT_COUNT - 1)); + logger.log("Set", CURRENT_ABT, "to", this.abtVariant); + } this.app.storage.writeFileAsync("shapez_" + CURRENT_ABT + ".bin", this.abtVariant); } }