package de.lighti.log;
import de.lighti.model.AppState;
import de.lighti.model.game.Player;
import de.lighti.model.game.Unit;
import de.lighti.model.game.Hero;
import java.util.TreeMap;
public class MovementLogJson extends LogJson{
@Override
protected String[][] getData(Player player){
Unit unit = player.getHero();
TreeMap<Long, Integer> x = (TreeMap)unit.getX();
TreeMap<Long, Integer> y = (TreeMap)unit.getY();
Long[] array = x.keySet().toArray(new Long[x.size()]);
long[] ticks = new long[x.keySet().size()];
{
int index = 0;
for(Long elt : x.keySet()){
ticks[index++] = elt.longValue();
}
}
String[][] data = new String[ticks.length][3];
for(int i = 0; i < data.length; i++){
data[i][0] = String.valueOf(ticks[i]);
data[i][1] = String.valueOf(x.get(ticks[i]));
data[i][2] = String.valueOf(y.get(ticks[i]));
}
return data;
}
@Override
protected void outData(Player player){
String[][] data = getData(player);
for(int j = 0; j < data.length; j++){
openingDataBlock();
for(int i = 0; i < data[j].length; i++){
switch(i){
case 0:
System.out.print("\"tick\" : ");
System.out.print(data[j][i]);
System.out.println(",");
break;
case 1:
System.out.print("\"x\" : ");
System.out.print(data[j][i]);
System.out.println(",");
break;
case 2:
System.out.print("\"y\" : ");
System.out.println(data[j][i]);
break;
}
}
closingDataBlock(j, data.length);
}
}
public MovementLogJson(Player player, AppState state){
super(player, state);
}
}