Beispiel #1
0
  protected void update(float delta) {
    switch (state) {
      case INITIALIZING:
        break;
      case STARTING:
        break;
      case PLAYING:
        spawner.update(delta);
        for (int i = 0; i < conf.playersAlive.size(); i++) {
          PlayerFish player = conf.playersAlive.get(i);
          if (!player.isAlive()) {
            conf.playersAlive.remove(player);
            i--;
          }
        }

        if (conf.playersAlive.size() == 1 && conf.aiconf.getAIs().size() > 1) {
          final PlayerFish winner = conf.playersAlive.get(0);
          state = State.OVER;
          getGameContext().update(0f);
          getGameContext().setPaused(true);
          GlobalTween.add(
              CommonTweens.zoomAtGameObject(winner, getCamera(), 3.0f, 3.0f)
                  .setCallback(
                      new TweenCallback() {

                        @Override
                        public void onEvent(int type, BaseTween<?> source) {
                          if (type == TweenCallback.COMPLETE) {
                            winner.incrementScore();
                            winner.destroy();
                            conf.playersAlive.clear();
                            getGameContext().setPaused(false);
                            getGameContext().update(0f);
                            if (winner.getScore() >= conf.winLimit) {
                              game.setScreen(new WinnerScreen(game, winner.getName()));
                            } else {
                              game.setScreen(new PlayScreen(game, conf));
                            }
                          }
                        }
                      }));
        }

        break;
      case OVER:
        break;
      case WINNER:
        break;
      default:
        break;
    }
  }