예제 #1
0
  /**
   * @param node данные с хмл.
   * @param playerClass класс игрока.
   * @return массив скиллов.
   */
  private final SkillTemplate[][] parseSkills(Node node, PlayerClass playerClass) {
    Array<SkillTemplate[]> skills = Arrays.toArray(SkillTemplate[].class, 2);

    // получаем таблицу скилов
    SkillTable skillTable = SkillTable.getInstance();

    for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling())
      if ("skill".equals(child.getNodeName())) {
        // получаем значения аргументов
        VarTable vars = VarTable.newInstance(child);

        // получаем ид скила
        int id = vars.getInteger("id");

        // получаем темплейт скила
        SkillTemplate[] template = skillTable.getSkills(playerClass.getId(), id);

        // если такой есть
        if (template != null)
          // вносим
          skills.add(template);
      }

    // сжимаем список
    skills.trimToSize();

    // возвращаем массив
    return skills.array();
  }
예제 #2
0
  /**
   * @param node данные с хмл.
   * @return массив скилов.
   */
  private final Array<SkillTemplate[]> parseSkills(Node node) {
    Array<SkillTemplate[]> skills = Arrays.toArray(SkillTemplate[].class, 2);

    // получаем таблицу скилов
    SkillTable skillTable = SkillTable.getInstance();

    for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling())
      if ("skill".equals(child.getNodeName())) {
        // получаем значения аргументов
        VarTable vars = VarTable.newInstance(child);

        int id = vars.getInteger("id");
        int classId = vars.getInteger("class");

        // получаем темплейт скила
        SkillTemplate[] template = skillTable.getSkills(classId, id);

        // если такой есть
        if (template != null)
          // вносим
          skills.add(template);
      }

    return skills;
  }