From dbf692cb3d6d30c1c89c76a5b3f25eff7f0efdd1 Mon Sep 17 00:00:00 2001 From: UnfamiliarLegacy <74633542+UnfamiliarLegacy@users.noreply.github.com> Date: Fri, 26 Nov 2021 01:06:57 +0100 Subject: [PATCH] Added nitro button, reworked last selected client mode --- .../gearth/protocol/connection/HClient.java | 3 ++- .../ui/connection/ConnectionController.java | 27 +++++++++++++++---- .../gearth/ui/connection/Connection.fxml | 16 +++++++---- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/G-Earth/src/main/java/gearth/protocol/connection/HClient.java b/G-Earth/src/main/java/gearth/protocol/connection/HClient.java index 54653c3..027fafd 100644 --- a/G-Earth/src/main/java/gearth/protocol/connection/HClient.java +++ b/G-Earth/src/main/java/gearth/protocol/connection/HClient.java @@ -2,5 +2,6 @@ package gearth.protocol.connection; public enum HClient { UNITY, - FLASH + FLASH, + NITRO } diff --git a/G-Earth/src/main/java/gearth/ui/connection/ConnectionController.java b/G-Earth/src/main/java/gearth/ui/connection/ConnectionController.java index 287d70a..3a559da 100644 --- a/G-Earth/src/main/java/gearth/ui/connection/ConnectionController.java +++ b/G-Earth/src/main/java/gearth/ui/connection/ConnectionController.java @@ -2,6 +2,7 @@ package gearth.ui.connection; import gearth.Main; import gearth.misc.Cacher; +import gearth.protocol.connection.HClient; import gearth.protocol.connection.HState; import gearth.protocol.connection.proxy.ProxyProviderFactory; import gearth.services.Constants; @@ -38,10 +39,11 @@ public class ConnectionController extends SubForm { private volatile int fullyInitialized = 0; - public static final String USE_UNITY_CLIENT_CACHE_KEY = "use_unity"; + public static final String CLIENT_CACHE_KEY = "last_client_mode"; public ToggleGroup tgl_clientMode; public RadioButton rd_unity; public RadioButton rd_flash; + public RadioButton rd_nitro; public GridPane grd_clientSelection; private volatile int initcount = 0; @@ -54,9 +56,18 @@ public class ConnectionController extends SubForm { Constants.UNITY_PACKETS = rd_unity.isSelected(); }); - if (Cacher.getCacheContents().has(USE_UNITY_CLIENT_CACHE_KEY)) { - rd_unity.setSelected(Cacher.getCacheContents().getBoolean(USE_UNITY_CLIENT_CACHE_KEY)); - rd_flash.setSelected(!Cacher.getCacheContents().getBoolean(USE_UNITY_CLIENT_CACHE_KEY)); + if (Cacher.getCacheContents().has(CLIENT_CACHE_KEY)) { + switch (Cacher.getCacheContents().getEnum(HClient.class, CLIENT_CACHE_KEY)) { + case FLASH: + rd_flash.setSelected(true); + break; + case UNITY: + rd_unity.setSelected(true); + break; + case NITRO: + rd_nitro.setSelected(true); + break; + } } @@ -269,7 +280,13 @@ public class ConnectionController extends SubForm { @Override protected void onExit() { - Cacher.put(USE_UNITY_CLIENT_CACHE_KEY, rd_unity.isSelected()); + if (rd_flash.isSelected()) { + Cacher.put(CLIENT_CACHE_KEY, HClient.FLASH); + } else if (rd_unity.isSelected()) { + Cacher.put(CLIENT_CACHE_KEY, HClient.UNITY); + } else if (rd_nitro.isSelected()) { + Cacher.put(CLIENT_CACHE_KEY, HClient.NITRO); + } getHConnection().abort(); } diff --git a/G-Earth/src/main/resources/gearth/ui/connection/Connection.fxml b/G-Earth/src/main/resources/gearth/ui/connection/Connection.fxml index 96b87e5..bf7cb35 100644 --- a/G-Earth/src/main/resources/gearth/ui/connection/Connection.fxml +++ b/G-Earth/src/main/resources/gearth/ui/connection/Connection.fxml @@ -5,7 +5,7 @@ - + @@ -132,9 +132,9 @@ - - - + + + @@ -156,7 +156,13 @@ - + + + + + + +