/**
   * Eventhandling des Registriere Agent ohne Visualisierungs-Button.
   *
   * @param ActionEvent e
   */
  void m_roVButton_actionPerformed(ActionEvent e) {
    try {
      if (m_coordinator.isGameRegisteredAndOpen(m_gameId)) {
        m_parent.writeStatusMessage(
            "Registriere den Agenten "
                + m_agentTF.getText()
                + " beim Spiel "
                + m_coordinator.getGameName(m_gameId));
        /*
         * Erstelle kompletten Pfad der Agentenklasse
         */
        if (m_parameter.containsKey("ScenarioName")) {
          m_scenarioName = (String) m_parameter.get("ScenarioName");
          System.out.println("Parameter ScenarioName vorhanden: " + m_scenarioName);
        } else {
          m_scenarioName = "island";
        }
        String agentClass =
            "scenario."
                + m_scenarioName
                + "."
                + AGENTENORDNER
                + "."
                + (String) m_agentClassCombo.getSelectedItem();
        // + ".class";
        System.out.println("Agent name and location: " + agentClass);

        m_coordinator.registerAgent(
            m_gameId, m_agentTF.getText(), agentClass, m_serverTF.getText());

        m_parent.writeStatusMessage(
            "Registrierung von Agent " + m_agentTF.getText() + " erfolgreich ausgeführt.");
        if ((m_gpp != null) && !m_coordinator.isGameRegisteredAndOpen(m_gameId))
          m_gpp.setAgentRegisterButtonVisible(false);

      } else {
        MessageDialog md =
            new MessageDialog(
                "Agentenregistrierung",
                "Der Agent kann nicht registriert werden, "
                    + "da das Spiel schon geschlossen ist.");
        md.show();
      }
    } catch (Exception ex) {
      MessageDialog md =
          new MessageDialog(
              "Agentenregistrierung",
              "Der Agent konnte nicht registriert werden, "
                  + "bitte beachten sie die Statusmeldung im Hauptfenster.");
      md.show();
      m_parent.writeStatusMessage("Der Agent konnte nicht registriert werden.");
      System.out.println("Der Agent konnte nicht registriert werden.");
      ex.printStackTrace(System.out);
    }
    this.setVisible(false);
    this.dispose();
    //    boolean tesss=m_coordinator.isGameRegisteredAndOpen(m_gameId);
    m_parent.repaintApplication();
  }
  /**
   * Eventhandling des Registriere Agent mit Visualisierungs-Button.
   *
   * @param ActionEvent e
   */
  void m_rwVAgentButton_actionPerformed(ActionEvent e) {
    try {
      /*
       * Check, ob Spiel überhaupt noch offen ist.
       */
      if (m_coordinator.isGameRegisteredAndOpen(m_gameId)) {
        m_parent.writeStatusMessage(
            "Registriere den Agenten "
                + m_agentTF.getText()
                + " beim Spiel "
                + m_coordinator.getGameName(m_gameId));
        /*
         * Delegate für Visualisierungskomponente erstellen
         */
        VisualisationDelegate delegate = null;
        delegate =
            new VisualisationDelegate(
                m_parameter, AgentVisualisation.class, "Agent " + m_agentTF.getText());
        System.out.println(
            "MultiagentSimulatorClient: " + "	Visualisation wird versucht zu registrieren.");

        /*
         * Erstelle kompletten Pfad der Agentenklasse
         */
        if (m_parameter.containsKey("ScenarioName")) {
          m_scenarioName = (String) m_parameter.get("ScenarioName");
        } else {
          m_scenarioName = "islandParallel";
        }

        /*
         * Agent und Visualisierung registrieren
         */
        String agentClass =
            "scenario."
                + m_scenarioName
                + "."
                + AGENTENORDNER
                + "."
                + (String) m_agentClassCombo.getSelectedItem();
        // + ".class";
        m_coordinator.registerAgent(
            m_gameId, m_agentTF.getText(), agentClass, m_serverTF.getText(), delegate);

        /*
         * Visualisierung starten
         */
        if ((m_gpp != null) && !m_coordinator.isGameRegisteredAndOpen(m_gameId))
          m_gpp.setAgentRegisterButtonVisible(false);

        delegate.show();
      } else {
        /*
         * MElde das dem User.
         */
        MessageDialog md =
            new MessageDialog(
                "Agentenregistrierung",
                "Der Agent kann nicht registriert werden, "
                    + "da das Spiel schon geschlossen ist.");
        md.show();
      }
    } catch (Exception ex) {
      MessageDialog md =
          new MessageDialog(
              "Agentenregistrierung",
              "Der Agent konnte nicht registriert werden, "
                  + "bitte beachten sie die Statusmeldung im Hauptfenster.");
      md.show();
      m_parent.writeStatusMessage("Der Agent konnte nicht registriert werden.");
      System.out.println("Der Agent konnte nicht registriert werden.");
      ex.printStackTrace(System.out);
    }
    m_parent.writeStatusMessage(
        "Registrierung von Agent " + m_agentTF.getText() + " erfolgreich ausgeführt.");
    this.setVisible(false);
    this.dispose();
    m_parent.repaintApplication();
  }
Example #3
0
  public static boolean toggleRun(boolean enable, Timer timer) {

    if (!timer.isRunning()) {
      final int settings[] = Game.getSettingsArray();

      if (settings != null) {
        if (settings[173] == 0) {
          if (enable) {
            if (GameTab.open(GameTab.TABS.OPTIONS)) {
              if (Interfaces.get(261, 0) != null) {

                Interfaces.get(261, 0).click("Toggle Run");

                if (settings[173] == 1) {
                  GameTab.open(GameTab.TABS.OPTIONS);

                  CSleep(
                      new Timing.Condition() {
                        @Override
                        public boolean validate() {
                          return settings[173] == 1;
                        }
                      },
                      random(2000, 3000));
                }

                GameTab.open(GameTab.TABS.INVENTORY);
                CSleep(
                    new Timing.Condition() {
                      @Override
                      public boolean validate() {
                        return GameTab.open(GameTab.TABS.INVENTORY);
                      }
                    },
                    random(2000, 3000));
                timer.reset();
                return true;
              }
            } else {

              return true;
            }
          }
        } else {
          if (!enable) {
            if (GameTab.open(GameTab.TABS.OPTIONS)) {
              if (Interfaces.get(261, 0) != null) {

                Interfaces.get(261, 0).click("Toggle Run");
              }
            } else {
              GameTab.open(GameTab.TABS.OPTIONS);
              sleep(1000, 2000);
              return true;
            }
          }
        }
      }
    }

    return false;
  }