protected AbstractAutoEvent() { this.lock = Locks.newLock(); this.prepare = Arrays.toArray(Player.class); this.activePlayers = Arrays.toArray(Player.class); // получаем таблицу территорий TerritoryTable territoryTable = TerritoryTable.getInstance(); this.eventTerritory = territoryTable.getTerritory(getTerritoryId()); this.players = Tables.newIntegerTable(); }
/** * @param node данные с хмл. * @return массив выдаваемых итемов. */ private final int[][] parseItems(Node node) { Array<int[]> items = Arrays.toArray(int[].class); // получаем таблицу итемов ItemTable itemTable = ItemTable.getInstance(); for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) if ("item".equals(child.getNodeName())) { // получаем значения аргументов VarTable vars = VarTable.newInstance(child); int id = vars.getInteger("id"); int count = vars.getInteger("count"); // получаем if,kjy итема ItemTemplate template = itemTable.getItem(id); // если такого итема на сервере нет, пропускаем if (template == null) continue; // вносим итем items.add(Arrays.toIntegerArray(id, count)); } // сжимаем массив items.trimToSize(); // возвращаем return items.array(); }
/** * @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; }
/** * @param node данные с хмл. * @return набор функций. */ private final Func[] parseFuncs(Node node) { Array<Func> array = Arrays.toArray(Func.class); // получаем парсер функций FuncParser parser = FuncParser.getInstance(); // парсим функции parser.parse(node, array, file); // сжимаем список array.trimToSize(); return array.array(); }
@Override protected Array<PlayerTemplate> create() { return Arrays.toArray(PlayerTemplate.class); }