Netcode and block placedOffset cleanup

This commit is contained in:
Anuken
2018-01-26 14:49:36 -05:00
parent c0a9cfc6b2
commit 3b4ebff349
20 changed files with 100 additions and 168 deletions

View File

@@ -125,8 +125,8 @@ public class JavaWebsocketClient implements ClientProvider {
}
@Override
public Array<Host> discover() {
return new Array<>();
public void discover(Consumer<Array<Host>> callback){
callback.accept(new Array<>());
}
@Override
@@ -134,9 +134,6 @@ public class JavaWebsocketClient implements ClientProvider {
failed.accept(new IOException());
}
@Override
public void register(Class<?>... types) { }
@Override
public void dispose() {
if(socket != null) socket.close();

View File

@@ -13,7 +13,6 @@ import io.anuke.mindustry.net.Net.ClientProvider;
import io.anuke.mindustry.net.Net.SendMode;
import io.anuke.mindustry.net.Packets.Connect;
import io.anuke.mindustry.net.Packets.Disconnect;
import io.anuke.mindustry.net.Registrator;
import io.anuke.ucore.UCore;
import io.anuke.ucore.function.Consumer;
@@ -95,8 +94,6 @@ public class KryoClient implements ClientProvider{
}else{
client.addListener(listener);
}
register(Registrator.getClasses());
}
@Override
@@ -143,7 +140,7 @@ public class KryoClient implements ClientProvider{
@Override
public void pingHost(String address, int port, Consumer<Host> valid, Consumer<IOException> invalid){
Thread thread = new Thread(() -> {
runAsync(() -> {
try {
DatagramSocket socket = new DatagramSocket();
socket.send(new DatagramPacket(new byte[]{-2, 1}, 2, InetAddress.getByName(address), Vars.port));
@@ -168,33 +165,29 @@ public class KryoClient implements ClientProvider{
Gdx.app.postRunnable(() -> invalid.accept(e));
}
});
thread.setDaemon(true);
thread.start();
}
@Override
public Array<Host> discover(){
addresses.clear();
List<InetAddress> list = client.discoverHosts(Vars.port, 3000);
ObjectSet<String> hostnames = new ObjectSet<>();
Array<Host> result = new Array<>();
public void discover(Consumer<Array<Host>> callback){
runAsync(() -> {
addresses.clear();
List<InetAddress> list = client.discoverHosts(Vars.port, 3000);
ObjectSet<String> hostnames = new ObjectSet<>();
Array<Host> result = new Array<>();
for(InetAddress a : list){
if(!hostnames.contains(a.getHostName())) {
Host address = addresses.get(a);
if(address != null) result.add(address);
for(InetAddress a : list){
if(!hostnames.contains(a.getHostName())) {
Host address = addresses.get(a);
if(address != null) result.add(address);
}
hostnames.add(a.getHostName());
}
hostnames.add(a.getHostName());
}
return result;
Gdx.app.postRunnable(() -> callback.accept(result));
});
}
@Override
public void register(Class<?>... types) { }
@Override
public void dispose(){
try {
@@ -204,6 +197,12 @@ public class KryoClient implements ClientProvider{
}
}
private void runAsync(Runnable run){
Thread thread = new Thread(run, "Client Async Run");
thread.setDaemon(true);
thread.start();
}
private void handleException(Exception e){
e.printStackTrace();
if(e instanceof KryoNetException){

View File

@@ -103,8 +103,6 @@ public class KryoServer implements ServerProvider {
}else{
server.addListener(listener);
}
register(Registrator.getClasses());
}
@Override
@@ -253,9 +251,6 @@ public class KryoServer implements ServerProvider {
return k.connection == null ? 0 : k.connection.getReturnTripTime();
}
@Override
public void register(Class<?>... types) { }
@Override
public void dispose(){
try {
@@ -386,7 +381,6 @@ public class KryoServer implements ServerProvider {
public SocketServer(int port) {
super(new InetSocketAddress(port));
//setWebSocketFactory(factory);
}
@Override