Started working on discovery, implemented GWT saving

This commit is contained in:
Anuken
2018-01-01 21:33:51 -05:00
parent 1b55d00254
commit 24248df4af
13 changed files with 190 additions and 61 deletions

View File

@@ -1,10 +1,13 @@
package io.anuke.kryonet;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.utils.Array;
import com.esotericsoftware.kryonet.Client;
import com.esotericsoftware.kryonet.Connection;
import com.esotericsoftware.kryonet.FrameworkMessage;
import com.esotericsoftware.kryonet.Listener;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.net.Address;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.Net.ClientProvider;
import io.anuke.mindustry.net.Net.SendMode;
@@ -13,6 +16,8 @@ import io.anuke.mindustry.net.Packets.Disconnect;
import io.anuke.mindustry.net.Registrator;
import java.io.IOException;
import java.net.InetAddress;
import java.util.List;
public class KryoClient implements ClientProvider{
Client client;
@@ -93,10 +98,32 @@ public class KryoClient implements ClientProvider{
return client.getReturnTripTime();
}
@Override
public Array<Address> discover(){
List<InetAddress> list = client.discoverHosts(Vars.port, 5000);
Array<Address> result = new Array<>();
for(InetAddress a : list){
result.add(new Address(a.getHostName(), a.getHostAddress()));
}
return result;
}
@Override
public void register(Class<?>... types) {
for(Class<?> c : types){
client.getKryo().register(c);
}
}
@Override
public void dispose(){
try {
client.dispose();
}catch (IOException e){
throw new RuntimeException(e);
}
}
}

View File

@@ -159,6 +159,15 @@ public class KryoServer implements ServerProvider {
}
}
@Override
public void dispose(){
try {
server.dispose();
}catch (IOException e){
throw new RuntimeException(e);
}
}
Connection getByID(int id){
for(Connection con : server.getConnections()){
if(con.getID() == id){