Ejemplo n.º 1
0
  private void generatePlayerTeam(ArrayList<Squaddie> squad, LevelBlock levelBlock) {
    double[] randomLocation = levelManager.randomInPosition(levelBlock);

    for (int i = 0; i < squad.size(); i++) {

      Ai ai = null;
      AiImage aiImg = null;

      if (squad.get(i).isVehicle()) {
        aiImg =
            new VehicleImage(
                aiCrowd,
                combatMembersManager,
                combatUiManager,
                combatVisualManager,
                panningManager,
                100,
                100,
                mouseAbilityHandler,
                floatingIcons);

        switch (squad.get(i).getVehicleType()) {
          case MuleAi.MULE:
            ai =
                new MuleAi(
                    panningManager,
                    floatingIcons,
                    mouseAbilityHandler,
                    squad.get(i).getName(),
                    randomLocation[0],
                    randomLocation[1],
                    combatInorganicManager,
                    levelManager,
                    lootbox,
                    combatMembersManager,
                    combatUiManager,
                    combatVisualManager,
                    aiCrowd,
                    turnProcess);
            break;
        }

        ai.setImage(squad.get(i).getImage());
        ai.setTeam("1Player");
      } else {
        aiImg =
            new AiImage(
                aiCrowd,
                combatMembersManager,
                combatUiManager,
                combatVisualManager,
                panningManager,
                100,
                100,
                mouseAbilityHandler,
                floatingIcons);

        ai =
            new Ai(
                floatingIcons,
                mouseAbilityHandler,
                squad.get(i).getName(),
                randomLocation[0],
                randomLocation[1],
                combatInorganicManager,
                levelManager,
                lootbox,
                combatMembersManager,
                combatUiManager,
                combatVisualManager,
                aiCrowd,
                panningManager,
                turnProcess);
        ai.setImage(squad.get(i).getImage());
        ai.setTeam("1Player");
      }

      Iterator<String> skillIt = squad.get(i).getSkills();
      while (skillIt.hasNext()) {
        String next = skillIt.next();
        ai.setSkill(next, squad.get(i).getSkillLevel(next));
      }

      ai.setWeapon(Weapon.stringToWeapon(squad.get(i).getWeapon()));

      Iterator<String> itemIt = squad.get(i).getItems();

      while (itemIt.hasNext()) {
        ai.addItem(Item.stringToItem(itemIt.next()));
      }

      ai.assignAbilities();
      aiImg.setAi(ai);
      aiCrowd.addDisplayItem(aiImg);
      aiCrowd.addMouseActionItem(aiImg);

      aiCrowd.addActor(ai, new DirectorClassification(DirectorArchetype.PLAYER));
      aiCrowd.addMask(aiImg);

      randomLocation = levelManager.randomInPosition(levelBlock);

      combatMembersManager.addAi(ai);
    }
  }