package forplay.flash;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.GWT.UncaughtExceptionHandler;
public abstract class FlashGame implements EntryPoint {
@Override
public final void onModuleLoad() {
GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void onUncaughtException(Throwable e) {
// TODO Auto-generated method stub
String msg = e.toString();
for (StackTraceElement elt : e.getStackTrace()) {
msg += "\n in " + elt.getMethodName() + "("+elt.getFileName()+":"+elt.getLineNumber()+")";
}
alert(msg);
}
});
// Need to do everything else in a deferred command, so that
// The uncaut exception handler has taken effect
// Scheduler.get().scheduleDeferred(new ScheduledCommand() {
// @Override
// public void execute() {
start();
// }
// });
}
private native void alert(String msg) /*-{
flash.external.ExternalInterface.call("alert", msg);
}-*/;
public abstract void start();
}