private void gameWon() { // We have met, so stop the game and change level. // Pause for a second if (gameStatus == Game.GAMESTATUS_PLAYING) { gameStatus = GAMESTATUS_WON; lasttime = System.currentTimeMillis(); GUIGame.WinStrings.change(); Score.addScore(100000); if (!Physics.hearts) { Physics.spawnHeart(this.getRule().getPosition().x, this.getRule().getPosition().y, 50); Physics.spawnHeart( this.getRulette().getPosition().x, this.getRulette().getPosition().y, 50); } rule.setDead(true); Physics.world.destroyBody(rule.getBody()); rulette.setDead(true); Physics.world.destroyBody(rulette.getBody()); Physics.hearts = true; Sound.playSound(R.sound.effects.win); } long timetaken = System.currentTimeMillis() - lasttime; if (timetaken < levelTransitionTime) { return; } // Change level loadLevel(++currentLevel); // Reset time lasttime = 0l; Physics.hearts = false; }