From e46b10b5cce5868a74e3cf6011c697e5a2eeca82 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Mon, 2 Oct 2023 12:21:17 +0530 Subject: [PATCH] fix bugs --- src/Analytics.hx | 34 ++++++++++++++++++++-------------- src/MarbleGame.hx | 7 +++++++ 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/Analytics.hx b/src/Analytics.hx index 4026b7f8..b388024b 100644 --- a/src/Analytics.hx +++ b/src/Analytics.hx @@ -31,8 +31,10 @@ class Analytics { public static function trackLevelPlay(levelName:String, levelFile:String) { var p = payload("level-play", { - name: levelName, - file: levelFile + level: { + name: levelName, + file: levelFile + } }); var json = Json.stringify(p); Http.post(umami, json, (b) -> { @@ -44,12 +46,14 @@ class Analytics { public static function trackLevelScore(levelName:String, levelFile:String, time:Int, oobs:Int, respawns:Int, rewind:Bool) { var p = payload("level-score", { - name: levelName, - file: levelFile, - time: time, - oobs: oobs, - respawns: respawns, - rewind: rewind + level_play: Json.stringify({ + name: levelName, + file: levelFile, + time: time, + oobs: oobs, + respawns: respawns, + rewind: rewind + }) }); var json = Json.stringify(p); Http.post(umami, json, (b) -> { @@ -61,12 +65,14 @@ class Analytics { public static function trackLevelQuit(levelName:String, levelFile:String, time:Int, oobs:Int, respawns:Int, rewind:Bool) { var p = payload("level-quit", { - name: levelName, - file: levelFile, - time: time, - oobs: oobs, - respawns: respawns, - rewind: rewind + level_quit: Json.stringify({ + name: levelName, + file: levelFile, + time: time, + oobs: oobs, + respawns: respawns, + rewind: rewind + }) }); var json = Json.stringify(p); Http.post(umami, json, (b) -> { diff --git a/src/MarbleGame.hx b/src/MarbleGame.hx index 5a6cf4de..3a5dc269 100644 --- a/src/MarbleGame.hx +++ b/src/MarbleGame.hx @@ -291,6 +291,13 @@ class MarbleGame { var missionType = world.mission.type; var isNotCustom = !world.mission.isClaMission && !world.mission.isCustom; world.setCursorLock(false); + if (!Settings.levelStatistics.exists(world.mission.path)) { + Settings.levelStatistics.set(world.mission.path, { + oobs: 0, + respawns: 0, + totalTime: 0, + }); + } var stats = Settings.levelStatistics[world.mission.path]; Analytics.trackLevelQuit(world.mission.title, world.mission.path, Std.int(world.timeState.timeSinceLoad * 1000), stats.oobs, stats.respawns, Settings.optionsSettings.rewindEnabled);