Fixed order of methods in quickmode change; no longer relying on local variable, instead pulling current state from ReplayHandler before updating.
This commit is contained in:
@@ -19,8 +19,6 @@ public class QuickMode extends EventRegistrations implements Extra {
|
|||||||
|
|
||||||
private final IGuiImage indicator = new GuiImage().setTexture(ReplayMod.TEXTURE, 40, 100, 16, 16).setSize(16, 16);
|
private final IGuiImage indicator = new GuiImage().setTexture(ReplayMod.TEXTURE, 40, 100, 16, 16).setSize(16, 16);
|
||||||
|
|
||||||
private boolean active;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void register(final ReplayMod mod) throws Exception {
|
public void register(final ReplayMod mod) throws Exception {
|
||||||
this.module = ReplayModReplay.instance;
|
this.module = ReplayModReplay.instance;
|
||||||
@@ -32,12 +30,12 @@ public class QuickMode extends EventRegistrations implements Extra {
|
|||||||
if (replayHandler == null) {
|
if (replayHandler == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
updateIndicator(replayHandler.getOverlay());
|
|
||||||
replayHandler.getReplaySender().setSyncModeAndWait();
|
replayHandler.getReplaySender().setSyncModeAndWait();
|
||||||
mod.runLater(() -> {
|
mod.runLater(() -> {
|
||||||
replayHandler.ensureQuickModeInitialized(() -> {
|
replayHandler.ensureQuickModeInitialized(() -> {
|
||||||
active = !active;
|
boolean enabled = !replayHandler.isQuickMode();
|
||||||
replayHandler.setQuickMode(active);
|
updateIndicator(replayHandler.getOverlay(), enabled);
|
||||||
|
replayHandler.setQuickMode(enabled);
|
||||||
replayHandler.getReplaySender().setAsyncMode(true);
|
replayHandler.getReplaySender().setAsyncMode(true);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -48,11 +46,11 @@ public class QuickMode extends EventRegistrations implements Extra {
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
on(ReplayOpenedCallback.EVENT, replayHandler -> updateIndicator(replayHandler.getOverlay()));
|
on(ReplayOpenedCallback.EVENT, replayHandler -> updateIndicator(replayHandler.getOverlay(), replayHandler.isQuickMode()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateIndicator(GuiReplayOverlay overlay) {
|
private void updateIndicator(GuiReplayOverlay overlay, boolean enabled) {
|
||||||
if (active) {
|
if (enabled) {
|
||||||
overlay.statusIndicatorPanel.addElements(new HorizontalLayout.Data(1), indicator);
|
overlay.statusIndicatorPanel.addElements(new HorizontalLayout.Data(1), indicator);
|
||||||
} else {
|
} else {
|
||||||
overlay.statusIndicatorPanel.removeElement(indicator);
|
overlay.statusIndicatorPanel.removeElement(indicator);
|
||||||
|
|||||||
Reference in New Issue
Block a user