package de.lighti.log; import de.lighti.model.AppState; import de.lighti.model.game.Player; import de.lighti.model.game.Hero; import de.lighti.model.game.Dota2Item; import java.util.TreeMap; import java.util.Collections; import java.util.List; import java.util.ArrayList; import java.util.Comparator; public class ItemLogJson extends LogJson{ @Override protected String[][] getData(Player player){ //code du mec final List<Object[]> log = new ArrayList(); final Hero h = player.getHero(); for (final Dota2Item a : h.getAllItems()) { for (final long l : a.getUsage()) { final Object[] o = new Object[4]; o[0] = l; o[1] = h.getX( l ); o[2] = h.getY( l ); o[3] = a.getKey(); log.add( o ); } } Collections.sort( log, new Comparator<Object[]>() { @Override public int compare( Object[] o1, Object[] o2 ) { final long l1 = (long) o1[0]; final long l2 = (long) o2[0]; return Long.compare( l1, l2 ); } } ); final String[][] ret = new String[log.size()][4]; for (int i = 0; i < log.size(); i++) { final Object[] o = log.get( i ); ret[i][0] = o[0].toString(); ret[i][1] = o[1].toString(); ret[i][2] = o[2].toString(); ret[i][3] = o[3].toString(); } return ret; } @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("\"xp\" : "); System.out.print(data[j][i]); System.out.println(","); break; case 2: System.out.print("\"y\" : "); System.out.print(data[j][i]); System.out.println(","); break; case 3: System.out.print("\"item\" : "); System.out.println(data[j][i]); break; } } closingDataBlock(j, data.length); } } public ItemLogJson(Player player, AppState state){ super(player, state); } }