mirror of
https://github.com/tobspr/shapez.io.git
synced 2024-10-27 20:34:29 +00:00
Add new analytics schema and fix tslint issues
This commit is contained in:
parent
de597b66e8
commit
9806b1df6c
2
src/js/globals.d.ts
vendored
2
src/js/globals.d.ts
vendored
@ -107,8 +107,6 @@ declare interface Window {
|
|||||||
assert(condition: boolean, failureMessage: string);
|
assert(condition: boolean, failureMessage: string);
|
||||||
|
|
||||||
coreThreadLoadedCb();
|
coreThreadLoadedCb();
|
||||||
|
|
||||||
gameanalytics: typeof import("./game_analytics");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
declare interface Navigator {
|
declare interface Navigator {
|
||||||
|
@ -137,7 +137,8 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface {
|
|||||||
ingameTime: root.time.now(),
|
ingameTime: root.time.now(),
|
||||||
category,
|
category,
|
||||||
value,
|
value,
|
||||||
gameDump: this.generateGameDump(root),
|
version: G_BUILD_VERSION,
|
||||||
|
gameDump: this.generateGameDump(root, category === "sync"),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,14 +153,15 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface {
|
|||||||
/**
|
/**
|
||||||
* Generates a game dump
|
* Generates a game dump
|
||||||
* @param {GameRoot} root
|
* @param {GameRoot} root
|
||||||
|
* @param {boolean=} metaOnly
|
||||||
*/
|
*/
|
||||||
generateGameDump(root) {
|
generateGameDump(root, metaOnly = false) {
|
||||||
let staticEntities = [];
|
let staticEntities = [];
|
||||||
|
|
||||||
const entities = root.entityMgr.getAllWithComponent(StaticMapEntityComponent);
|
const entities = root.entityMgr.getAllWithComponent(StaticMapEntityComponent);
|
||||||
|
|
||||||
// Limit the entities
|
// Limit the entities
|
||||||
if (entities.length < 5000) {
|
if (!metaOnly && entities.length < 500) {
|
||||||
for (let i = 0; i < entities.length; ++i) {
|
for (let i = 0; i < entities.length; ++i) {
|
||||||
const entity = entities[i];
|
const entity = entities[i];
|
||||||
const staticComp = entity.components.StaticMapEntity;
|
const staticComp = entity.components.StaticMapEntity;
|
||||||
|
@ -34,10 +34,12 @@ export class StorageImplBrowserIndexedDB extends StorageInterface {
|
|||||||
reject("Indexed DB access error");
|
reject("Indexed DB access error");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// @ts-ignore
|
||||||
request.onsuccess = event => resolve(event.target.result);
|
request.onsuccess = event => resolve(event.target.result);
|
||||||
|
|
||||||
request.onupgradeneeded = /** @type {IDBVersionChangeEvent} */ event => {
|
request.onupgradeneeded = /** @type {IDBVersionChangeEvent} */ event => {
|
||||||
/** @type {IDBDatabase} */
|
/** @type {IDBDatabase} */
|
||||||
|
// @ts-ignore
|
||||||
const database = event.target.result;
|
const database = event.target.result;
|
||||||
|
|
||||||
const objectStore = database.createObjectStore("files", {
|
const objectStore = database.createObjectStore("files", {
|
||||||
|
@ -122,6 +122,7 @@ export class MainMenuState extends GameState {
|
|||||||
const closeLoader = this.dialogs.showLoadingDialog();
|
const closeLoader = this.dialogs.showLoadingDialog();
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
reader.addEventListener("load", event => {
|
reader.addEventListener("load", event => {
|
||||||
|
// @ts-ignore
|
||||||
const contents = event.target.result;
|
const contents = event.target.result;
|
||||||
let realContent;
|
let realContent;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user