Beispiel #1
0
  /**
   * Method openMe.
   *
   * @param opener Player
   * @param autoClose boolean
   * @return boolean
   */
  public boolean openMe(Player opener, boolean autoClose) {
    _openLock.lock();

    try {
      if (!setOpen(true)) {
        return false;
      }

      setGeoOpen(true);
    } finally {
      _openLock.unlock();
    }
    broadcastStatusUpdate();

    if (autoClose && (getTemplate().getCloseTime() > 0)) {
      scheduleAutoAction(false, getTemplate().getCloseTime() * 1000L);
    }

    getAI().onEvtOpen(opener);

    for (Listener<Creature> l : getListeners().getListeners()) {
      if (l instanceof OnOpenCloseListener) {
        ((OnOpenCloseListener) l).onOpen(this);
      }
    }

    return true;
  }