Update JoinDialog.java

This commit is contained in:
Patrick 'Quezler' Mounier
2020-11-25 10:40:42 +01:00
committed by GitHub
parent 6633b07fb2
commit 642b877ab0
+22 -1
View File
@@ -8,6 +8,7 @@ import arc.scene.ui.*;
import arc.scene.ui.layout.*; import arc.scene.ui.layout.*;
import arc.struct.*; import arc.struct.*;
import arc.util.*; import arc.util.*;
import arc.util.Timer.*;
import arc.util.serialization.*; import arc.util.serialization.*;
import mindustry.*; import mindustry.*;
import mindustry.core.*; import mindustry.core.*;
@@ -33,6 +34,10 @@ public class JoinDialog extends BaseDialog{
int refreshes; int refreshes;
boolean showHidden; boolean showHidden;
String lastIp;
int lastPort;
Task ping;
public JoinDialog(){ public JoinDialog(){
super("@joingame"); super("@joingame");
@@ -445,13 +450,29 @@ public class JoinDialog extends BaseDialog{
logic.reset(); logic.reset();
net.reset(); net.reset();
Vars.netClient.beginConnecting(); Vars.netClient.beginConnecting();
net.connect(ip, port, () -> { net.connect(lastIp = ip, lastPort = port, () -> {
hide(); hide();
add.hide(); add.hide();
}); });
}); });
} }
public void reconnect(){
ui.loadfrag.show("@reconnecting");
this.ping = Timer.schedule(() -> {
net.pingHost(lastIp, lastPort, host -> {
ping.cancel();
connect(lastIp, lastPort);
}, exception -> {});
}, 1, 1);
ui.loadfrag.setButton(() -> {
ui.loadfrag.hide();
ping.cancel();
});
}
void safeConnect(String ip, int port, int version){ void safeConnect(String ip, int port, int version){
if(version != Version.build && Version.build != -1 && version != -1){ if(version != Version.build && Version.build != -1 && version != -1){
ui.showInfo("[scarlet]" + (version > Version.build ? KickReason.clientOutdated : KickReason.serverOutdated).toString() + "\n[]" + ui.showInfo("[scarlet]" + (version > Version.build ? KickReason.clientOutdated : KickReason.serverOutdated).toString() + "\n[]" +