public void end(boolean death) {
   String stageName = null;
   stageName = stageChanger.getNextStage(currentStage, totalStages);
   if (death == true) {
     gameOver = true;
     if (gameEnd) {
       gameEnd = false;
       player.deathCount += 1;
     }
     playerSaver.playerSaver(player);
     mainWindow.endGame(death);
   } else if (stageName == null) {
     gameOver = true;
     if (gameEnd) {
       player.victoryCount += 1;
       gameEnd = false;
     }
     playerSaver.playerSaver(player);
     mainWindow.endGame(death);
   }
   currentStage += 1;
   if (stageName != null) {
     player.gameEnd = false;
     Collisions.clearCollisions();
     objectMaker = stageMaker.getFile(stageName, objectMaker);
     imageList = objectMaker.getImages();
     enemyList = objectMaker.getEnemies();
   }
   player.setX(0);
   // TODO: Remove player oval from screen, then present EndScreen
   // TODO: Get fancy by adding a death sound/animation
 }
 public Canvas(MainWindow mainWindow) {
   super();
   this.mainWindow = mainWindow;
   soundEffects = new SFXDirector(this.mainWindow);
   currentStage = 1;
   stageChanger = new ChangeStage();
   totalStages = stageChanger.getKeyInfo();
   objectMaker = new AllObjects();
   stageMaker = new BuildImages();
   objectMaker = stageMaker.getFile("stage1", objectMaker);
   imageList = objectMaker.getImages();
   enemyList = objectMaker.getEnemies();
   playerBuilder = new BuildPlayer();
   playerSaver = new SavePlayer();
   player = playerBuilder.playerBuilder(player, 1);
   projectileList = new ArrayList<Projectile>();
   myHUD = new HUD();
 }