change replay exit paths

This commit is contained in:
RandomityGuy 2025-02-07 22:49:32 +05:30
parent 6a1f869777
commit 3b74555830
4 changed files with 11 additions and 11 deletions

View file

@ -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<GuiControl>;
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<GuiControl>) {
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) {

View file

@ -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."));
}

View file

@ -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."));
}

View file

@ -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);
}
}
}