Пример #1
0
  @Test
  public void getNumberOfPlayersShouldReturnTotalNumberOfHumanPlayers() {
    when(mockGameFactory.create(1, 0, true, false, null, true, GameMode.EVENT))
        .thenReturn(mockGame1);
    when(mockGame1.getNumberOfHumanPlayer()).thenReturn(1);

    when(mockGameFactory.create(2, 0, true, false, null, false, GameMode.EVENT))
        .thenReturn(mockGame2);
    when(mockGame2.getNumberOfHumanPlayer()).thenReturn(2);

    gameManager.getOrCreateMatchingSession(
        GameMode.EVENT,
        "public EVENT name",
        0,
        null,
        EnumSet.of(ProblemGenre.Anige),
        EnumSet.of(ProblemType.Marubatsu),
        true,
        mockServerStatusManager,
        12345678,
        "192.168.0.1");
    gameManager.getOrCreateMatchingSession(
        GameMode.EVENT,
        "closed EVENT name",
        0,
        null,
        EnumSet.of(ProblemGenre.Anige),
        EnumSet.of(ProblemType.Marubatsu),
        false,
        mockServerStatusManager,
        12345678,
        "192.168.0.1");

    assertEquals(3, gameManager.getNumberOfPlayers());
  }
Пример #2
0
  public static Entity makePlayerControlled(Entity entity) {
    entity.add(GameManager.getGame().engine.createComponent(PlayerOwnedComponent.class));
    entity.add(GameManager.getGame().engine.createComponent(PlayerControllerComponent.class));
    entity.add(GameManager.getGame().engine.createComponent(JoystickControllerComponent.class));

    return entity;
  }
Пример #3
0
  public static Entity createMap() {
    Entity map = GameManager.getGame().engine.createEntity();
    MapComponent mapComponent = GameManager.getGame().engine.createComponent(MapComponent.class);
    mapComponent.init(256, 256);
    mapComponent.rectangle.x = -128;
    mapComponent.rectangle.y = -128;
    map.add(mapComponent);
    GameManager.getGame().engine.addEntity(map);

    return map;
  }
Пример #4
0
  public static Entity createPlayer(float x, float y, float width, float height) {
    Entity entity = createBasicMovingEntity(x, y, width, height);

    makePlayerControlled(entity);
    makeVisual(entity, width, height, "player_ship1.png");

    entity.add(GameManager.getGame().engine.createComponent(ShootingComponent.class));
    entity.add(GameManager.getGame().engine.createComponent(CameraFocusComponent.class));

    GameManager.getGame().engine.addEntity(entity);

    return entity;
  }
Пример #5
0
  public static Entity createBullet(float x, float y, float width, float height) {
    Entity bullet = createBasicMovingEntity(x, y, width, height);

    makeVisual(bullet, width, height, null);

    bullet.add(GameManager.getGame().engine.createComponent(DamageOnCollisionComponent.class));
    //
    // bullet.add(GameManager.getGame().engine.createComponent(DestroyOnMapCollisionComponent.class));

    GameManager.getGame().engine.addEntity(bullet);

    return bullet;
  }
    public void run() {
      datafolder = p.getDataFolder();

      PluginManager pm = getServer().getPluginManager();
      setCommands();

      SettingsManager.getInstance().setup(p);
      MessageManager.getInstance().setup();
      GameManager.getInstance().setup(p);

      try { // try loading everything that uses SQL.
        FileConfiguration c = SettingsManager.getInstance().getConfig();
        if (c.getBoolean("stats.enabled")) DatabaseManager.getInstance().setup(p);
        QueueManager.getInstance().setup();
        StatsManager.getInstance().setup(p, c.getBoolean("stats.enabled"));
        dbcon = true;
      } catch (Exception e) {
        dbcon = false;
        e.printStackTrace();
        logger.severe(
            "!!!Failed to connect to the database. Please check the settings and try again!!!");
        return;
      } finally {
        LobbyManager.getInstance().setup(p);
      }

      ChestRatioStorage.getInstance().setup();
      HookManager.getInstance().setup();
      pm.registerEvents(new PlaceEvent(), p);
      pm.registerEvents(new BreakEvent(), p);
      pm.registerEvents(new DeathEvent(), p);
      pm.registerEvents(new MoveEvent(), p);
      pm.registerEvents(new CommandCatch(), p);
      pm.registerEvents(new SignClickEvent(), p);
      pm.registerEvents(new ChestReplaceEvent(), p);
      pm.registerEvents(new LogoutEvent(), p);
      pm.registerEvents(new JoinEvent(p), p);
      pm.registerEvents(new TeleportEvent(), p);
      pm.registerEvents(LoggingManager.getInstance(), p);
      pm.registerEvents(new SpectatorEvents(), p);
      pm.registerEvents(new BandageUse(), p);
      pm.registerEvents(new KitEvents(), p);

      for (Player p : Bukkit.getOnlinePlayers()) {
        if (GameManager.getInstance().getBlockGameId(p.getLocation()) != -1) {
          p.teleport(SettingsManager.getInstance().getLobbySpawn());
        }
      }

      //   new Webserver().start();
    }
Пример #7
0
 public void configureGL(GL2 gl) {
   gl.glEnable(GL2.GL_FOG);
   gl.glFogi(GL2.GL_FOG_MODE, GL2.GL_LINEAR);
   gl.glFogf(GL2.GL_FOG_DENSITY, 0.25f);
   gl.glFogf(GL2.GL_FOG_START, Math.max(getNearClippingPlane(), fadeOut * 1.0f));
   gl.glFogf(GL2.GL_FOG_END, Math.max(1.1f, fadeOut * 1.1f * getSpawnDistance()));
   gl.glMatrixMode(GL2.GL_PROJECTION);
   gl.glLoadIdentity();
   gl.glFrustumf(-1, 1, -man.vheight(), man.vheight(), getNearClippingPlane(), 128.0f);
   gl.glScalef(2.0f, 2.0f, 1);
   gl.glTranslatef(-0.5f, -man.vheight() / 2.0f, 0);
   gl.glMatrixMode(GL2.GL_MODELVIEW);
   gl.glLoadIdentity();
 }
Пример #8
0
  /** Usage: java ...Tunnelblick [sensitivity=1.0 [useopenni=false]] */
  public static void main(String[] argv) {
    float sensitivity = 1.0f;
    boolean withOpenNi = false;
    if (argv.length >= 1) sensitivity = Float.valueOf(argv[0]).floatValue();
    if (argv.length >= 2) withOpenNi = Boolean.valueOf(argv[1]);
    OpenNiBodyTrackerInputDriver onbtid =
        withOpenNi ? new OpenNiBodyTrackerInputDriver(true) : null;
    GameManager man = new GameManager("Tunnelblick", 800, 600);
    KeyboardGestureInputDriver kgid = new KeyboardGestureInputDriver();
    kgid.bind(java.awt.event.KeyEvent.VK_SPACE, InputEvent.GESTURE_JUMP);
    man.installInputDriver(kgid);
    MouseButtonGestureInputDriver mbgid = new MouseButtonGestureInputDriver();
    mbgid.bind(java.awt.event.MouseEvent.BUTTON1, InputEvent.GESTURE_JUMP);
    man.installInputDriver(mbgid);
    ModalMouseMotionInputDriver mmmid = new ModalMouseMotionInputDriver();
    mmmid.setPointerMode(false);
    man.installInputDriver(mmmid);
    if (withOpenNi) man.installInputDriver(onbtid);

    Tunnelblick state = new Tunnelblick(man);
    state.getPlayer().setSensitivity(sensitivity);
    man.setState(state);
    man.run();
    man.destroy();
  }
 public void setLobbySignsFromSelection(Player pl, int a) {
   FileConfiguration c = SettingsManager.getInstance().getSystemConfig();
   SettingsManager s = SettingsManager.getInstance();
   if (!c.getBoolean("walls-system.lobby.sign.set", false)) {
     c.set("walls-system.lobby.sign.set", true);
     s.saveSystemConfig();
   }
   WorldEditPlugin we = GameManager.getInstance().getWorldEdit();
   Selection sel = we.getSelection(pl);
   if (sel == null) {
     pl.sendMessage(ChatColor.RED + "You must make a WorldEdit Selection first");
     return;
   }
   if ((sel.getNativeMaximumPoint().getBlockX() - sel.getNativeMinimumPoint().getBlockX()) != 0
       && (sel.getNativeMinimumPoint().getBlockZ() - sel.getNativeMaximumPoint().getBlockZ()
           != 0)) {
     pl.sendMessage(ChatColor.RED + " Must be in a straight line!");
     return;
   }
   Vector max = sel.getNativeMaximumPoint();
   Vector min = sel.getNativeMinimumPoint();
   int i = c.getInt("walls-system.lobby.signno", 0) + 1;
   c.set("walls-system.lobby.signno", i);
   c.set("walls-system.lobby.signs." + i + ".id", a);
   c.set("walls-system.lobby.signs." + i + ".world", pl.getWorld().getName());
   c.set("walls-system.lobby.signs." + i + ".x1", max.getBlockX());
   c.set("walls-system.lobby.signs." + i + ".y1", max.getBlockY());
   c.set("walls-system.lobby.signs." + i + ".z1", max.getBlockZ());
   c.set("walls-system.lobby.signs." + i + ".x2", min.getBlockX());
   c.set("walls-system.lobby.signs." + i + ".y2", min.getBlockY());
   c.set("walls-system.lobby.signs." + i + ".z2", min.getBlockZ());
   pl.sendMessage(ChatColor.GREEN + "Added Lobby Wall"); // TODO
   s.saveSystemConfig();
   loadSign(i);
 }
Пример #10
0
  public static Entity makeHoming(Entity entity, Entity homingTarget) {
    HomingComponent homing = GameManager.getGame().engine.createComponent(HomingComponent.class);
    homing.target = homingTarget;
    entity.add(homing);

    return entity;
  }
Пример #11
0
  @Test
  public void getOrCreateMatchingSessionShouldReturnSameMatchingGameSessionForSecondTime() {
    when(mockGameFactory.create(1, 0, false, false, null, false, GameMode.WHOLE))
        .thenReturn(mockGame1);
    when(mockGame1.getTransition()).thenReturn(Transition.Matching);

    List<Game> games = Lists.newArrayList();

    for (int i = 0; i < 2; ++i) {
      Game game =
          gameManager.getOrCreateMatchingSession(
              GameMode.WHOLE,
              null,
              0,
              null,
              EnumSet.of(ProblemGenre.Anige),
              EnumSet.of(ProblemType.Marubatsu),
              false,
              mockServerStatusManager,
              12345678,
              "192.168.0.1");
      games.add(game);
    }

    assertEquals(ImmutableList.of(mockGame1, mockGame1), games);
  }
Пример #12
0
 public Tunnelblick(GameManager man) {
   this.man = man;
   player = new Player(this);
   field.add(player);
   music = new MusicPlayer(distortion);
   man.getAudioPlayer().addSource(music, (short) 0x7FFF);
 }
Пример #13
0
  void stopTimer() {
    if (mGameManager != null && mTimer != null) {
      mGameManager.stopTimer();

      mTimer.cancel();
      mTimer = null;
    }
  }
Пример #14
0
  private Image getImageOfPlayerImpl(Player player) {
    String key;
    GameManager<Container> gm = getGameManager();
    Flag flag = gm.getFlagOf(player);
    switch (flag) {
      case PLAYER_ONE:
        key = Keywords.IMAGE_PLAYER_ONE;
        break;
      case PLAYER_TWO:
        key = Keywords.IMAGE_PLAYER_TWO;
        break;
      default:
        throw new IllegalArgumentException("cannot resolve flag: " + flag);
    }

    return (Image) gm.<Image>getResource(key, Image.class);
  }
Пример #15
0
 public void changeBallType(Ball.BallType type) {
   if (gameManager.hasItem(type)) {
     LevelScreen screen = levelScreenManager.getScreen();
     BallShooter shooter = screen.getShooter();
     shooter.changeBallType(type);
     undo = true;
   }
 }
Пример #16
0
  public LeaderboardScreen(Component comp, Graphics2D g2d, GameManager context) {
    this.component = comp;
    this.g2d = g2d;
    this.context = context;

    background = new ImageEntity(comp, g2d);
    background.load("/resources/leaderboardBackground.png");
    leaderboard = context.getLeaderboard();
  }
Пример #17
0
  @Override
  protected void onResume() {
    super.onResume();

    if (mGameManager != null) {
      updateMineFlagsRemainingCount(mGameManager.getMineFlagsRemainingCount());
      startTimer();
    }
  }
Пример #18
0
 private void initState() {
   states = new GameState[Constant.STATES];
   states[0] = new PrincipalMenu();
   states[1] = GameManager.getGameManager();
   states[2] = new PauseMenu();
   states[3] = new ScoreMenu();
   states[4] = new GameRules();
   states[5] = new Win();
 }
Пример #19
0
 @Override
 public boolean onTouchEvent(MotionEvent event) {
   int x = (int) event.getX();
   int y = (int) event.getY();
   if (event.getAction() == MotionEvent.ACTION_MOVE) {
     gameManager.onTouchEvent(x, y);
   }
   invalidate();
   return true;
 }
Пример #20
0
  public static Entity makeVisual(Entity entity, float width, float height, String image) {
    VisualComponent visual = GameManager.getGame().engine.createComponent(VisualComponent.class);
    final Texture texture =
        new Texture(Gdx.files.internal(image != null ? image : images.random()));
    visual.region = new TextureRegion(texture, texture.getWidth(), texture.getHeight());
    visual.width = width;
    visual.height = height;
    entity.add(visual);

    return entity;
  }
Пример #21
0
  @Test
  public void getSessionShouldReturnCreatedGame() {
    when(mockGameFactory.create(1, 0, false, false, null, false, GameMode.WHOLE))
        .thenReturn(mockGame1);

    gameManager.getOrCreateMatchingSession(
        GameMode.WHOLE,
        null,
        0,
        null,
        EnumSet.of(ProblemGenre.Anige),
        EnumSet.of(ProblemType.Marubatsu),
        false,
        mockServerStatusManager,
        12345678,
        "192.168.0.1");
    Game game = gameManager.getSession(1);

    assertSame(mockGame1, game);
  }
Пример #22
0
 public void removePlayer() {
   player.teleport(spawnBack);
   if (gm.getPlugin().getConfigHandler().isSaveHealth()) {
     player.setHealth(health);
     player.setFoodLevel(hunger);
   }
   player.getInventory().clear();
   player.getInventory().setContents(inventory);
   player.setGameMode(gamemode);
   player.setExp(xpAmount);
 }
Пример #23
0
  @Test
  public void getNumberOfPlayersInWholeShouldReturnNumberOfHumanPlayers() {
    when(mockGameFactory.create(1, 0, false, false, null, false, GameMode.WHOLE))
        .thenReturn(mockGame1);
    when(mockGame1.getNumberOfHumanPlayer()).thenReturn(3);
    when(mockGame1.getTransition()).thenReturn(Transition.Matching);

    gameManager.getOrCreateMatchingSession(
        GameMode.WHOLE,
        null,
        0,
        null,
        EnumSet.of(ProblemGenre.Anige),
        EnumSet.of(ProblemType.Marubatsu),
        false,
        mockServerStatusManager,
        12345678,
        "192.168.0.1");

    assertEquals(3, gameManager.getNumberOfPlayersInWhole());
  }
Пример #24
0
  public static Entity createHomingEnemy(
      float x, float y, float width, float height, Entity homingTarget) {
    Entity entity = createBasicMovingEntity(x, y, width, height);

    makeVisual(entity, width, height, null);
    makeHoming(entity, homingTarget);
    Mappers.propel.get(entity).speed = 2f;

    GameManager.getGame().engine.addEntity(entity);

    return entity;
  }
Пример #25
0
  public void showMenu(Player p) {
    GameManager.getInstance().openKitMenu(p);
    Inventory i =
        Bukkit.getServer()
            .createInventory(p, 45, ChatColor.RED + "" + ChatColor.BOLD + "Please select a kit:");

    int a = 0;
    int b = 0;

    ArrayList<Kit> kits = GameManager.getInstance().getKits(p);
    if (kits == null
        || kits.size() == 0
        || !SettingsManager.getInstance().getKits().getBoolean("enabled")) {
      GameManager.getInstance().leaveKitMenu(p);
      return;
    }

    for (Kit k : kits) {
      ItemStack i1 = k.getIcon();
      ItemMeta im = i1.getItemMeta();

      im.setDisplayName(ChatColor.GOLD + "" + ChatColor.BOLD + k.getName());
      i1.setItemMeta(im);
      i.setItem((9 * a) + b, i1);
      a = 2;

      for (ItemStack s2 : k.getContents()) {
        if (s2 != null) {
          i.setItem((9 * a) + b, s2);
          a++;
        }
      }

      a = 0;
      b++;
    }
    p.openInventory(i);
    debug("Showing kit menu for: " + p.getName());
  }
Пример #26
0
  @Override
  public void run() {
    if (gameManager.isForceStop()) {
      Bukkit.getScheduler().cancelTask(timeState);
      return;
    }

    if (timeLeft != 0) {
      onRunnableTick(timeLeft);
      timeLeft--;
    } else {
      onScheduleEnd(timeState);
    }
  }
Пример #27
0
  public void addSpectator(final Player p) {
    if (mode != GameMode.INGAME) {
      msgmgr.sendMessage(PrefixType.WARNING, "You can only spectate running games!", p);
      return;
    }

    p.teleport(SettingsManager.getInstance().getSpawnPoint(gameID, 1).add(0, 10, 0));

    HookManager.getInstance().runHook("PLAYER_SPECTATE", "player-" + p.getName());

    for (Player pl : Bukkit.getOnlinePlayers()) {
      pl.hidePlayer(p);
    }

    Bukkit.getServer()
        .getScheduler()
        .scheduleSyncDelayedTask(
            GameManager.getInstance().getPlugin(),
            new Runnable() {
              @SuppressWarnings("deprecation")
              public void run() {
                p.setFlying(false);
                p.setAllowFlight(false);
                p.setWalkSpeed(0.2F);
                p.setFireTicks(0);

                p.getInventory().clear();
                p.getEquipment().setArmorContents(null);
                p.updateInventory();
                showMenu(p);

                for (PotionEffect effect : p.getActivePotionEffects()) {
                  p.removePotionEffect(effect.getType());
                }
              }
            },
            1L);

    spectators.add(p.getName());
    msgmgr.sendMessage(
        PrefixType.INFO,
        "You are now spectating! Use /sg spectate again to return to the lobby.",
        p);
    msgmgr.sendMessage(
        PrefixType.INFO,
        "Right click while holding shift to teleport to the next ingame player, left click to go back.",
        p);
    nextspec.put(p, 0);
  }
Пример #28
0
  void startTimer() {
    if (mGameManager != null && !mGameManager.isGameFinished()) {
      mGameManager.startTimer();

      TimerTask timerTask =
          new TimerTask() {
            @Override
            public void run() {
              runOnUiThread(
                  new Runnable() {
                    @Override
                    public void run() {
                      updateTimeElapsed(mGameManager.getElapsedTime());
                    }
                  });
            }
          };

      mTimer = new Timer();

      // Delay: 0, Interval: 1000ms
      mTimer.schedule(timerTask, 0, 1000);
    }
  }
Пример #29
0
  public static Entity createBasicMovingEntity(float x, float y, float width, float height) {
    Entity entity = GameManager.getGame().engine.createEntity();
    PositionComponent position =
        GameManager.getGame().engine.createComponent(PositionComponent.class);
    position.x = x;
    position.y = y;
    entity.add(position);
    CollisionComponent collision =
        GameManager.getGame().engine.createComponent(CollisionComponent.class);
    collision.init(width, height);
    entity.add(collision);
    entity.add(GameManager.getGame().engine.createComponent(AccelerationComponent.class));
    entity.add(GameManager.getGame().engine.createComponent(DragComponent.class));
    entity.add(GameManager.getGame().engine.createComponent(VelocityComponent.class));
    entity.add(GameManager.getGame().engine.createComponent(AngleComponent.class));
    entity.add(GameManager.getGame().engine.createComponent(PropelComponent.class));
    entity.add(
        GameManager.getGame().engine.createComponent(StopMovementOnCollisionComponent.class));

    return entity;
  }
Пример #30
0
  /*
   *
   * ################################################
   *
   * 				RESET
   *
   * ################################################
   *
   *
   */
  public void resetArena() {

    for (Integer i : tasks) {
      Bukkit.getScheduler().cancelTask(i);
    }

    tasks.clear();
    vote = 0;
    voted.clear();

    mode = GameMode.RESETING;
    endgameRunning = false;

    Bukkit.getScheduler().cancelTask(endgameTaskID);
    GameManager.getInstance().gameEndCallBack(gameID);
    QueueManager.getInstance().rollback(gameID, false);
    LobbyManager.getInstance().updateWall(gameID);

    scoreBoard.reset();
  }