From 0eec5383ed6b3ecd8496551c81fe9049281cf3ef Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 29 Nov 2018 12:07:43 -0500 Subject: [PATCH] UI fixes / Better ghost connection fix --- core/src/io/anuke/mindustry/core/NetServer.java | 13 +++++-------- .../io/anuke/mindustry/ui/dialogs/JoinDialog.java | 6 +++--- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index d23b9cd376..463eab9692 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -598,20 +598,17 @@ public class NetServer extends Module{ } void sync(){ - for(Player player : playerGroup.all()){ - if(player.con == null || connections.get(player.con.id) == null){ - onDisconnect(player); - } - } try{ //iterate through each player - for(Player player : connections.values()){ + for(Player player : playerGroup.all()){ + if(player.isLocal) continue; + NetConnection connection = player.con; - if(!connection.isConnected()){ - //player disconnected, ignore them + if(!connection.isConnected() || !connections.containsKey(connection.id)){ + //player disconnected, call d/c event onDisconnect(player); return; } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java index cc3de460cb..53044715b2 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java @@ -96,11 +96,11 @@ public class JoinDialog extends FloatingDialog{ //why are java lambdas this bad TextButton[] buttons = {null}; - TextButton button = buttons[0] = remote.addButton("[accent]" + server.displayIP(), () -> { + TextButton button = buttons[0] = remote.addButton("[accent]" + server.displayIP(), "clear", () -> { if(!buttons[0].childrenPressed()){ connect(server.ip, server.port); } - }).width(targetWidth()).height(150f).pad(4f).get(); + }).width(targetWidth()).height(155f).pad(4f).get(); button.getLabel().setWrap(true); @@ -159,7 +159,7 @@ public class JoinDialog extends FloatingDialog{ Bundles.format("text.server.version", host.version); }else if(host.version > Version.build && Version.build != -1){ versionString = Bundles.get("text.server.outdated.client") + "\n" + - Bundles.format("text.server.version", host.version); + Bundles.format("text.server.version", host.version, ""); }else{ versionString = Bundles.format("text.server.version", host.version, host.versionType); }