Ejemplo n.º 1
0
  /**
   * @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();
  }
Ejemplo n.º 2
0
  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();
  }
Ejemplo n.º 3
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();
  }
Ejemplo n.º 4
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;
  }
Ejemplo n.º 5
0
  /**
   * @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();
  }
Ejemplo n.º 6
0
 public QuestCompleteList() {
   this.prepare = ByteBuffer.allocate(4096).order(ByteOrder.LITTLE_ENDIAN);
   this.completed = Arrays.toSortedArray(QuestDate.class);
 }
Ejemplo n.º 7
0
 @Override
 protected Array<PlayerTemplate> create() {
   return Arrays.toArray(PlayerTemplate.class);
 }