package de.lighti.model; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.HashSet; import java.util.Set; import de.lighti.GameEventListener; import de.lighti.model.state.ParseState; public class DebugListener implements GameEventListener { private final BufferedWriter bw; private final Set<String> names; public DebugListener() throws IOException { bw = new BufferedWriter( new FileWriter( new File( "names.txt" ) ) ); names = new HashSet(); } @Override public void entityCreated( long tickMs, Entity entity ) { for (final Property p : entity.getProperties()) { if (!names.contains( p.getName() )) { names.add( p.getName() ); try { bw.write( p.getName() + "\n" ); } catch (final IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } @Override public void entityRemoved( long tickMs, Entity removed ) { // TODO Auto-generated method stub } @Override public <T> void entityUpdated( long tickMs, Entity e, String name, T oldValue ) { for (final Property p : e.getProperties()) { if (!names.contains( p.getName() )) { names.add( p.getName() ); try { bw.write( p.getName() + "\n" ); } catch (final IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } } @Override public void gameEvent( int eventType, int attacker, int attackerEntity, int target, int value, int inflictor, float timeStamp ) { // TODO Auto-generated method stub } @Override public void parseComplete( long tickMs, ParseState state ) { // TODO Auto-generated method stub } }