/** * @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(); }
/** * @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; }