From f73808fa890f225f354c1220a677ff9d14e5d4cb Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Fri, 28 Jun 2024 23:51:17 +0530 Subject: [PATCH] fix this lol --- src/gui/MarblePickerGui.hx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/gui/MarblePickerGui.hx b/src/gui/MarblePickerGui.hx index 5f799b67..9c183cef 100644 --- a/src/gui/MarblePickerGui.hx +++ b/src/gui/MarblePickerGui.hx @@ -297,6 +297,8 @@ class MarblePickerGui extends GuiImage { mbOpt.position = new Vector(380, yPos); mbOpt.extent = new Vector(815, 94); mbOpt.setCurrentOption(Settings.optionsSettings.marbleIndex); + var curToken = 0; + mbOpt.onChangeFunc = (idx) -> { var selectedMarble = marbleData[idx]; Settings.optionsSettings.marbleIndex = idx; @@ -305,8 +307,14 @@ class MarblePickerGui extends GuiImage { Settings.optionsSettings.marbleModel = selectedMarble.dts; Settings.optionsSettings.marbleShader = selectedMarble.shader; ResourceLoader.load(Settings.optionsSettings.marbleModel).entry.load(() -> { + if (changeToken + 1 != curToken) + return; @:privateAccess MarbleGame.instance.previewWorld.removeMarble(myMarb); @:privateAccess MarbleGame.instance.previewWorld.spawnMarble(marb -> { + if (changeToken + 1 != curToken) { + @:privateAccess MarbleGame.instance.previewWorld.removeMarble(marb); + return; + } var spawnPos = @:privateAccess MarbleGame.instance.scene.camera.pos.add(new Vector(0, 1, 1)); var velAdd = new Vector((1 - 2 * Math.random()) * 2, (1 - 2 * Math.random()) * 1.5, (1 - 2 * Math.random()) * 1); velAdd = velAdd.add(new Vector(0, 3, 0)); @@ -334,6 +342,9 @@ class MarblePickerGui extends GuiImage { backButton.accelerators = [hxd.Key.ENTER]; backButton.pressedAction = (e) -> { this.bmp.visible = true; + mbOpt.onChangeFunc = (e) -> { + return false; + }; // Fix that marbug MarbleGame.instance.setPreviewMission(prevPreview, () -> { MarbleGame.canvas.setContent(new OptionsListGui()); }, false);