use of com.watabou.pixeldungeon.levels.Level in project pixel-dungeon by watabou.
the class InterlevelScene method fall.
private void fall() throws Exception {
Actor.fixTime();
Dungeon.saveLevel();
Level level;
if (Dungeon.depth >= Statistics.deepestFloor) {
level = Dungeon.newLevel();
} else {
Dungeon.depth++;
level = Dungeon.loadLevel(Dungeon.hero.heroClass);
}
Dungeon.switchLevel(level, fallIntoPit ? level.pitCell() : level.randomRespawnCell());
}
use of com.watabou.pixeldungeon.levels.Level in project pixel-dungeon by watabou.
the class InterlevelScene method returnTo.
private void returnTo() throws Exception {
Actor.fixTime();
Dungeon.saveLevel();
Dungeon.depth = returnDepth;
Level level = Dungeon.loadLevel(Dungeon.hero.heroClass);
Dungeon.switchLevel(level, Level.resizingNeeded ? level.adjustPos(returnPos) : returnPos);
}
use of com.watabou.pixeldungeon.levels.Level in project pixel-dungeon by watabou.
the class Dungeon method newLevel.
public static Level newLevel() {
Dungeon.level = null;
Actor.clear();
depth++;
if (depth > Statistics.deepestFloor) {
Statistics.deepestFloor = depth;
if (Statistics.qualifiedForNoKilling) {
Statistics.completedWithNoKilling = true;
} else {
Statistics.completedWithNoKilling = false;
}
}
Arrays.fill(visible, false);
Level level;
switch(depth) {
case 1:
case 2:
case 3:
case 4:
level = new SewerLevel();
break;
case 5:
level = new SewerBossLevel();
break;
case 6:
case 7:
case 8:
case 9:
level = new PrisonLevel();
break;
case 10:
level = new PrisonBossLevel();
break;
case 11:
case 12:
case 13:
case 14:
level = new CavesLevel();
break;
case 15:
level = new CavesBossLevel();
break;
case 16:
case 17:
case 18:
case 19:
level = new CityLevel();
break;
case 20:
level = new CityBossLevel();
break;
case 21:
level = new LastShopLevel();
break;
case 22:
case 23:
case 24:
level = new HallsLevel();
break;
case 25:
level = new HallsBossLevel();
break;
case 26:
level = new LastLevel();
break;
default:
level = new DeadEndLevel();
Statistics.deepestFloor--;
}
level.create();
Statistics.qualifiedForNoKilling = !bossLevel();
return level;
}
use of com.watabou.pixeldungeon.levels.Level in project pixel-dungeon by watabou.
the class Dungeon method loadLevel.
public static Level loadLevel(HeroClass cl) throws IOException {
Dungeon.level = null;
Actor.clear();
InputStream input = Game.instance.openFileInput(Utils.format(depthFile(cl), depth));
Bundle bundle = Bundle.read(input);
input.close();
return (Level) bundle.get("level");
}
use of com.watabou.pixeldungeon.levels.Level in project pixel-dungeon by watabou.
the class InterlevelScene method descend.
private void descend() throws Exception {
Actor.fixTime();
if (Dungeon.hero == null) {
Dungeon.init();
if (noStory) {
Dungeon.chapters.add(WndStory.ID_SEWERS);
noStory = false;
}
GameLog.wipe();
} else {
Dungeon.saveLevel();
}
Level level;
if (Dungeon.depth >= Statistics.deepestFloor) {
level = Dungeon.newLevel();
} else {
Dungeon.depth++;
level = Dungeon.loadLevel(Dungeon.hero.heroClass);
}
Dungeon.switchLevel(level, level.entrance);
}
Aggregations