mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
exit LB replays on pmg
This commit is contained in:
parent
c12cdfc908
commit
efd4f50e4e
7 changed files with 17 additions and 20 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -16,6 +16,10 @@ node_modules
|
|||
fonts
|
||||
package.json
|
||||
package-lock.json
|
||||
leaderboards
|
||||
out
|
||||
server
|
||||
mpcustom
|
||||
|
||||
macos-dist/MarbleBlast Platinum.app/
|
||||
macos-dist/data/
|
||||
|
|
|
|||
|
|
@ -62,6 +62,8 @@ class MarbleGame {
|
|||
|
||||
var _mouseWheelDelta:Float;
|
||||
|
||||
var replayEndClass:Class<GuiControl>;
|
||||
|
||||
public function new(scene2d:h2d.Scene, scene:h3d.scene.Scene) {
|
||||
Console.log("Initializing the game...");
|
||||
canvas = new Canvas(scene2d, cast this);
|
||||
|
|
@ -369,12 +371,8 @@ class MarbleGame {
|
|||
Analytics.trackLevelQuit(world.mission.title, world.mission.path, Std.int(world.timeState.timeSinceLoad * 1000), stats.oobs, stats.respawns,
|
||||
Settings.optionsSettings.rewindEnabled);
|
||||
paused = false;
|
||||
if (world.isWatching && !world.replay.isLBReplay) {
|
||||
#if !js
|
||||
canvas.setContent(new ReplayCenterGui());
|
||||
#else
|
||||
canvas.setContent(new MainMenuGui());
|
||||
#end
|
||||
if (world.isWatching) {
|
||||
canvas.setContent(Type.createInstance(replayEndClass, []));
|
||||
} else {
|
||||
if (Net.isMP) {
|
||||
var lobby = new MPPlayMissionGui(Net.isHost);
|
||||
|
|
@ -405,8 +403,9 @@ class MarbleGame {
|
|||
world.init();
|
||||
}
|
||||
|
||||
public function watchMissionReplay(mission:Mission, replay:Replay) {
|
||||
public function watchMissionReplay(mission:Mission, replay:Replay, replayEndGui:Class<GuiControl>) {
|
||||
canvas.clearContent();
|
||||
replayEndClass = replayEndGui;
|
||||
Analytics.trackSingle("replay-watch");
|
||||
world = new MarbleWorld(scene, scene2d, mission);
|
||||
world.replay = replay;
|
||||
|
|
|
|||
|
|
@ -1818,11 +1818,8 @@ class MarbleWorld extends Scheduler {
|
|||
}
|
||||
this.setCursorLock(false);
|
||||
this.dispose();
|
||||
#if !js
|
||||
MarbleGame.canvas.setContent(new ReplayCenterGui());
|
||||
#end
|
||||
MarbleGame.canvas.setContent(Type.createInstance(@:privateAccess MarbleGame.instance.replayEndClass, []));
|
||||
#if js
|
||||
MarbleGame.canvas.setContent(new MainMenuGui());
|
||||
var pointercontainer = js.Browser.document.querySelector("#pointercontainer");
|
||||
pointercontainer.hidden = false;
|
||||
#end
|
||||
|
|
|
|||
|
|
@ -265,7 +265,6 @@ class Replay {
|
|||
public var mission:String;
|
||||
public var name:String;
|
||||
public var customId:Int;
|
||||
public var isLBReplay:Bool;
|
||||
|
||||
var frames:Array<ReplayFrame>;
|
||||
var initialState:ReplayInitialState;
|
||||
|
|
@ -283,7 +282,6 @@ class Replay {
|
|||
this.mission = mission;
|
||||
this.customId = customId;
|
||||
this.initialState = new ReplayInitialState();
|
||||
this.isLBReplay = false;
|
||||
}
|
||||
|
||||
public function startFrame() {
|
||||
|
|
|
|||
|
|
@ -144,11 +144,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."));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -835,7 +835,6 @@ class PlayMissionGui extends GuiImage {
|
|||
Leaderboards.watchTopReplay(lbPath, scoreView, (b) -> {
|
||||
if (b != null) {
|
||||
var replayF = new Replay("");
|
||||
replayF.isLBReplay = true;
|
||||
if (replayF.read(b)) {
|
||||
var repmis = replayF.mission;
|
||||
// Strip data/ from the mission name
|
||||
|
|
@ -854,10 +853,10 @@ class PlayMissionGui extends GuiImage {
|
|||
|
||||
if (mi.isClaMission) {
|
||||
mi.download(() -> {
|
||||
MarbleGame.instance.watchMissionReplay(mi, replayF);
|
||||
MarbleGame.instance.watchMissionReplay(mi, replayF, PlayMissionGui);
|
||||
});
|
||||
} else {
|
||||
MarbleGame.instance.watchMissionReplay(mi, replayF);
|
||||
MarbleGame.instance.watchMissionReplay(mi, replayF, PlayMissionGui);
|
||||
}
|
||||
} else {
|
||||
MarbleGame.canvas.pushDialog(new MessageBoxOkDlg("Could not load replay for this level."));
|
||||
|
|
|
|||
|
|
@ -76,11 +76,11 @@ 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);
|
||||
});
|
||||
playButton.disabled = true; // Don't let us play anything else
|
||||
} else {
|
||||
MarbleGame.instance.watchMissionReplay(mi, repl);
|
||||
MarbleGame.instance.watchMissionReplay(mi, repl, ReplayCenterGui);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue