v0.6.4a: fixed bugs relating to interlevelscene being reset
This commit is contained in:
parent
04dfde31ff
commit
a7c442dde6
|
@ -72,8 +72,8 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
private RenderedText message;
|
private RenderedText message;
|
||||||
|
|
||||||
private Thread thread;
|
private static Thread thread;
|
||||||
private Exception error = null;
|
private static Exception error = null;
|
||||||
private float waitingTime;
|
private float waitingTime;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -163,54 +163,56 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
phase = Phase.FADE_IN;
|
phase = Phase.FADE_IN;
|
||||||
timeLeft = TIME_TO_FADE;
|
timeLeft = TIME_TO_FADE;
|
||||||
|
|
||||||
thread = new Thread() {
|
if (thread == null) {
|
||||||
@Override
|
thread = new Thread() {
|
||||||
public void run() {
|
@Override
|
||||||
|
public void run() {
|
||||||
try {
|
|
||||||
|
try {
|
||||||
switch (mode) {
|
|
||||||
case DESCEND:
|
switch (mode) {
|
||||||
descend();
|
case DESCEND:
|
||||||
break;
|
descend();
|
||||||
case ASCEND:
|
break;
|
||||||
ascend();
|
case ASCEND:
|
||||||
break;
|
ascend();
|
||||||
case CONTINUE:
|
break;
|
||||||
restore();
|
case CONTINUE:
|
||||||
break;
|
restore();
|
||||||
case RESURRECT:
|
break;
|
||||||
resurrect();
|
case RESURRECT:
|
||||||
break;
|
resurrect();
|
||||||
case RETURN:
|
break;
|
||||||
returnTo();
|
case RETURN:
|
||||||
break;
|
returnTo();
|
||||||
case FALL:
|
break;
|
||||||
fall();
|
case FALL:
|
||||||
break;
|
fall();
|
||||||
case RESET:
|
break;
|
||||||
reset();
|
case RESET:
|
||||||
break;
|
reset();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((Dungeon.depth % 5) == 0) {
|
||||||
|
Sample.INSTANCE.load(Assets.SND_BOSS);
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
error = e;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Dungeon.depth % 5) == 0) {
|
if (phase == Phase.STATIC && error == null) {
|
||||||
Sample.INSTANCE.load( Assets.SND_BOSS );
|
phase = Phase.FADE_OUT;
|
||||||
|
timeLeft = TIME_TO_FADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
|
|
||||||
error = e;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
if (phase == Phase.STATIC && error == null) {
|
thread.start();
|
||||||
phase = Phase.FADE_OUT;
|
}
|
||||||
timeLeft = TIME_TO_FADE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
thread.start();
|
|
||||||
waitingTime = 0f;
|
waitingTime = 0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,6 +243,8 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
if ((timeLeft -= Game.elapsed) <= 0) {
|
if ((timeLeft -= Game.elapsed) <= 0) {
|
||||||
Game.switchScene( GameScene.class );
|
Game.switchScene( GameScene.class );
|
||||||
|
thread = null;
|
||||||
|
error = null;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -260,11 +264,19 @@ public class InterlevelScene extends PixelScene {
|
||||||
Game.switchScene( StartScene.class );
|
Game.switchScene( StartScene.class );
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
thread = null;
|
||||||
error = null;
|
error = null;
|
||||||
} else if ((int)waitingTime == 10){
|
} else if ((int)waitingTime == 10){
|
||||||
waitingTime = 11f;
|
waitingTime = 11f;
|
||||||
|
String s = "";
|
||||||
|
for (StackTraceElement t : thread.getStackTrace()){
|
||||||
|
s += "\n";
|
||||||
|
s += t.toString();
|
||||||
|
}
|
||||||
ShatteredPixelDungeon.reportException(
|
ShatteredPixelDungeon.reportException(
|
||||||
new RuntimeException("waited more than 10 seconds on levelgen. Seed:" + Dungeon.seed + " depth:" + Dungeon.depth)
|
new RuntimeException("waited more than 10 seconds on levelgen. " +
|
||||||
|
"Seed:" + Dungeon.seed + " depth:" + Dungeon.depth + "trace:" +
|
||||||
|
s)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user