Refactored almost every class, somehow didn't break game yet

This commit is contained in:
Anuken
2018-01-27 23:42:42 -05:00
parent 78c8dc4902
commit 35b6b41f24
110 changed files with 1648 additions and 1463 deletions

View File

@@ -6,7 +6,6 @@ import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.ObjectSet;
import com.esotericsoftware.kryonet.*;
import com.esotericsoftware.kryonet.Listener.LagListener;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.net.Host;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.Net.ClientProvider;
@@ -23,6 +22,8 @@ import java.net.InetAddress;
import java.nio.ByteBuffer;
import java.util.List;
import static io.anuke.mindustry.Vars.*;
public class KryoClient implements ClientProvider{
Client client;
ObjectMap<InetAddress, Host> addresses = new ObjectMap<>();
@@ -78,8 +79,8 @@ public class KryoClient implements ClientProvider{
Net.handleClientReceived(object);
}catch (Exception e){
if(e instanceof KryoNetException && e.getMessage() != null && e.getMessage().toLowerCase().contains("incorrect")) {
Vars.ui.showError("$text.server.mismatch");
Vars.netClient.disconnectQuietly();
ui.showError("$text.server.mismatch");
netClient.disconnectQuietly();
}else{
throw new RuntimeException(e);
}
@@ -143,7 +144,7 @@ public class KryoClient implements ClientProvider{
runAsync(() -> {
try {
DatagramSocket socket = new DatagramSocket();
socket.send(new DatagramPacket(new byte[]{-2, 1}, 2, InetAddress.getByName(address), Vars.port));
socket.send(new DatagramPacket(new byte[]{-2, 1}, 2, InetAddress.getByName(address), port));
socket.setSoTimeout(2000);
@@ -171,7 +172,7 @@ public class KryoClient implements ClientProvider{
public void discover(Consumer<Array<Host>> callback){
runAsync(() -> {
addresses.clear();
List<InetAddress> list = client.discoverHosts(Vars.port, 3000);
List<InetAddress> list = client.discoverHosts(port, 3000);
ObjectSet<String> hostnames = new ObjectSet<>();
Array<Host> result = new Array<>();
@@ -206,7 +207,7 @@ public class KryoClient implements ClientProvider{
private void handleException(Exception e){
e.printStackTrace();
if(e instanceof KryoNetException){
Gdx.app.postRunnable(() -> Vars.ui.showError("$text.server.mismatch"));
Gdx.app.postRunnable(() -> ui.showError("$text.server.mismatch"));
}else{
//TODO better exception handling.
disconnect();

View File

@@ -35,6 +35,8 @@ import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.concurrent.CopyOnWriteArrayList;
import static io.anuke.mindustry.Vars.ui;
public class KryoServer implements ServerProvider {
final boolean debug = false;
final Server server;
@@ -432,10 +434,10 @@ public class KryoServer implements ServerProvider {
ex.printStackTrace();
if(ex instanceof BindException){
Net.closeServer();
Vars.ui.showError("$text.server.addressinuse");
ui.showError("$text.server.addressinuse");
}else if(ex.getMessage().equals("Permission denied")){
Net.closeServer();
Vars.ui.showError("Permission denied.");
ui.showError("Permission denied.");
}
}