Пример #1
0
  public void draw(
      final Ship ship,
      final StarManager starManager,
      final EnemyManager enemyManager,
      final PowerUpManager powerupManager,
      final ShotManager shotManager,
      final GamePhase phase,
      final GameController controller) {
    if (phase == GamePhase.GAMING) {
      shotManager.drawShape(shapeRenderer, ppux, ppuy, border);
      powerupManager.drawShape(shapeRenderer, ppux, ppuy, border);

      shapeRenderer.begin(ShapeType.FilledRectangle);
      enemyManager.drawHealthBar(shapeRenderer, ppux, ppuy, border);
      shapeRenderer.end();
    }
    shapeRenderer.setColor(Color.WHITE);
    starManager.drawShape(shapeRenderer, ppux, ppuy, border);
    ship.drawShape(shapeRenderer, ppux, ppuy, border);

    batch.begin();
    ship.drawSprite(batch, ppux, ppuy, border);
    switch (phase) {
      case LEVEL_LOAD: // just waiting for refresh
      case GAMING:
        shotManager.drawSprite(batch, ppux, ppuy, border);
        powerupManager.drawSprite(batch, ppux, ppuy, border);
        enemyManager.drawSprite(batch, ppux, ppuy, border);
        break;
      case PAUSE:
        drawPauseTextBox();
        break;
      case LEVEL_SCORE:
        // TODO make counter and stuff and at the end change phase
        //			score =
        GameScreen.updatePhase(GamePhase.LEVEL_WAIT);
      case LEVEL_WAIT:
        drawLevelScore(controller, controller.getTimeBonus());
        break;
      case DEAD:
        // TODO death animation
        drawGameOver();
        break;
      case FINISHED:
        drawGameFinished();
        break;
      case GAMESTART:
        break;
      default:
        break;
    }
    batch.end();
  }