package btest;
import java.io.IOException;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryonet.Connection;
import com.esotericsoftware.kryonet.Listener;
import com.esotericsoftware.kryonet.Server;
public class GameServer {
public static Server server = new Server();
private static float cuboids[][] = new float[200][6];
private static int cubCount = 1;
public static void main(String args[]) {
server.start();
try {
server.bind(10008);
} catch (IOException e) {
e.printStackTrace();
}
Kryo kryo = server.getKryo();
kryo.register(String.class);
cuboids[0][0] = -5;
cuboids[0][1] = -2;
cuboids[0][2] = -5;
cuboids[0][3] = 5;
cuboids[0][4] = -1.75f;
cuboids[0][5] = 5;
server.addListener(new Listener() {
public void connected(Connection connection) {
for (int i = 0; i < 200; i++) {
if (!(cuboids[i][0] == 0 && cuboids[i][1] == 0
&& cuboids[i][2] == 0 && cuboids[i][3] == 0
&& cuboids[i][4] == 0 && cuboids[i][5] == 0)) {
sendCuboid(connection, cuboids[i][0], cuboids[i][1],
cuboids[i][2], cuboids[i][3], cuboids[i][4],
cuboids[i][5]);
}
}
System.out.println("Sent all cuboids present");
}
public void received(Connection connection, Object object) {
parseReceived(object);
System.out.println("Received a packet");
}
public void disconnected(Connection connection) {
// TODO
}
});
}
public static void parseReceived(Object received) {
if (received instanceof String) {
String in = (String) received;
String inSplit[] = in.split(" ");
try {
if (in.startsWith("b")) {
server.sendToAllTCP(received);
int count = cubCount++;
System.out.println("Cuboid " + count);
cuboids[count][0] = Float.parseFloat(inSplit[1]);
cuboids[count][1] = Float.parseFloat(inSplit[2]);
cuboids[count][2] = Float.parseFloat(inSplit[3]);
cuboids[count][3] = Float.parseFloat(inSplit[4]);
cuboids[count][4] = Float.parseFloat(inSplit[5]);
cuboids[count][5] = Float.parseFloat(inSplit[6]);
}
} catch (Exception e) {
System.out.println("Formatting issue with incoming packet");
}
}
}
public static void sendCuboid(Connection connection, float x1, float y1,
float z1, float x2, float y2, float z2) {
server.sendToTCP(connection.getID(), "b " + x1 + " " + y1 + " " + z1
+ " " + x2 + " " + y2 + " " + z2);
}
}