From 3b74555830bd898185e39389d35b2714faa531cf Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Fri, 7 Feb 2025 22:49:32 +0530 Subject: [PATCH] change replay exit paths --- src/MarbleGame.hx | 12 ++++++------ src/gui/LeaderboardsGui.hx | 2 +- src/gui/MainMenuGui.hx | 4 ++-- src/gui/ReplayCenterGui.hx | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/MarbleGame.hx b/src/MarbleGame.hx index 377236f7..a650915f 100644 --- a/src/MarbleGame.hx +++ b/src/MarbleGame.hx @@ -1,5 +1,6 @@ package src; +import gui.GuiControl; import haxe.io.Path; import gui.MultiplayerGui; import net.MasterServerClient; @@ -66,6 +67,8 @@ class MarbleGame { var limitingFps:Bool = false; var fpsLimitAccum:Float = 0.0; + var replayExitGui:Class; + public function new(scene2d:h2d.Scene, scene:h3d.scene.Scene) { Console.log("Initializing the game..."); canvas = new Canvas(scene2d, cast this); @@ -349,11 +352,7 @@ class MarbleGame { world = null; paused = false; if (watching) { - #if !js - canvas.setContent(new ReplayCenterGui()); - #else - canvas.setContent(new MainMenuGui()); - #end + canvas.setContent(Type.createInstance(replayExitGui, [])); } else { if (Net.isMP) { if (weDisconnecting) { @@ -389,7 +388,7 @@ class MarbleGame { world.init(); } - public function watchMissionReplay(mission:Mission, replay:Replay) { + public function watchMissionReplay(mission:Mission, replay:Replay, replayExitGui:Class) { canvas.clearContent(); destroyPreviewWorld(); Analytics.trackSingle("replay-watch"); @@ -397,6 +396,7 @@ class MarbleGame { world.replay = replay; world.isWatching = true; world.init(); + this.replayExitGui = replayExitGui; } public function startPreviewWorld(onFinish:() -> Void) { diff --git a/src/gui/LeaderboardsGui.hx b/src/gui/LeaderboardsGui.hx index a1d0ba2f..4e70662e 100644 --- a/src/gui/LeaderboardsGui.hx +++ b/src/gui/LeaderboardsGui.hx @@ -259,7 +259,7 @@ class LeaderboardsGui extends GuiImage { mi = MissionList.missions.get(repmis); } - MarbleGame.instance.watchMissionReplay(mi, replayF); + MarbleGame.instance.watchMissionReplay(mi, replayF, DifficultySelectGui); } else { MarbleGame.canvas.pushDialog(new MessageBoxOkDlg("Could not load replay for this level.")); } diff --git a/src/gui/MainMenuGui.hx b/src/gui/MainMenuGui.hx index 94f413ae..1eb8c2a4 100644 --- a/src/gui/MainMenuGui.hx +++ b/src/gui/MainMenuGui.hx @@ -109,11 +109,11 @@ class MainMenuGui extends GuiImage { var mi = replay.customId == 0 ? MissionList.missions.get(repmis) : Marbleland.missions.get(replay.customId); if (mi.isClaMission) { mi.download(() -> { - MarbleGame.instance.watchMissionReplay(mi, replay); + MarbleGame.instance.watchMissionReplay(mi, replay, MainMenuGui); }); } else { if (mi != null) { - cast(this.parent, Canvas).marbleGame.watchMissionReplay(mi, replay); + cast(this.parent, Canvas).marbleGame.watchMissionReplay(mi, replay, MainMenuGui); } else { cast(this.parent, Canvas).pushDialog(new MessageBoxOkDlg("Cannot load replay.")); } diff --git a/src/gui/ReplayCenterGui.hx b/src/gui/ReplayCenterGui.hx index 6476efdb..e828cc40 100644 --- a/src/gui/ReplayCenterGui.hx +++ b/src/gui/ReplayCenterGui.hx @@ -142,10 +142,10 @@ class ReplayCenterGui extends GuiImage { var mi = repl.customId == 0 ? MissionList.missions.get(repmis) : Marbleland.missions.get(repl.customId); if (mi.isClaMission) { mi.download(() -> { - MarbleGame.instance.watchMissionReplay(mi, repl); + MarbleGame.instance.watchMissionReplay(mi, repl, ReplayCenterGui); }); } else { - MarbleGame.instance.watchMissionReplay(mi, repl); + MarbleGame.instance.watchMissionReplay(mi, repl, ReplayCenterGui); } } }