Ejemplo n.º 1
0
  /**
   * Обработка активации ловушки.
   *
   * @param object объект, который изменил свое положение.
   */
  public boolean activate(TObject object) {

    if (!object.isCharacter()) return false;

    Character owner = getOwner();
    Character target = object.getCharacter();

    if (owner == null || owner == target || !owner.checkTarget(target)) {
      return false;
    }

    float dist = target.getGeomDistance(x, y);

    if (dist > radius) {
      return false;
    }

    if (lifeTask != null) {
      lifeTask.cancel(false);
      lifeTask = null;
    }

    ExecutorManager executor = ExecutorManager.getInstance();
    executor.scheduleGeneral(this, 100);

    return true;
  }