make more stuff ErrorDumpable

This commit is contained in:
yugecin
2017-01-15 00:11:52 +01:00
parent c467e9b34e
commit 24c6c7da77
7 changed files with 63 additions and 4 deletions

View File

@@ -20,6 +20,8 @@ package yugecin.opsudance.core.state;
import yugecin.opsudance.core.DisplayContainer;
import yugecin.opsudance.core.ResolutionChangeListener;
import java.io.StringWriter;
public abstract class BaseOpsuState implements OpsuState, ResolutionChangeListener {
protected final DisplayContainer displayContainer;
@@ -91,4 +93,10 @@ public abstract class BaseOpsuState implements OpsuState, ResolutionChangeListen
return false;
}
@Override
public void writeErrorDump(StringWriter dump) {
dump.append("> BaseOpsuState dump\n");
dump.append("isDirty: ").append(String.valueOf(isDirty)).append('\n');
}
}

View File

@@ -18,8 +18,9 @@
package yugecin.opsudance.core.state;
import org.newdawn.slick.Graphics;
import yugecin.opsudance.errorhandling.ErrorDumpable;
public interface OpsuState {
public interface OpsuState extends ErrorDumpable {
void update(int delta);
void preRenderUpdate(int delta);

View File

@@ -22,6 +22,8 @@ import yugecin.opsudance.core.DisplayContainer;
import yugecin.opsudance.core.state.BaseOpsuState;
import yugecin.opsudance.core.state.OpsuState;
import java.io.StringWriter;
public abstract class TransitionState extends BaseOpsuState {
protected OpsuState applicableState;
@@ -79,4 +81,17 @@ public abstract class TransitionState extends BaseOpsuState {
return false;
}
@Override
public void writeErrorDump(StringWriter dump) {
dump.append("> TransitionState dump\n");
dump.append("progress: ").append(String.valueOf(transitionTime)).append("/").append(String.valueOf(transitionTargetTime)).append('\n');
dump.append("applicable state: ");
if (applicableState == null) {
dump.append("IS NULL");
return;
}
dump.append(applicableState.getClass().getSimpleName()).append('\n');
applicableState.writeErrorDump(dump);
}
}