Plugins

Aus Wiki der Helden-Software
Version vom 11. Juli 2015, 23:31 Uhr von Tzzzpfff (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Plugin-Schnittstellen

Die Helden-Software kann durch Plugins erweitert werden, die die Möglichkeit haben auf die Informationen der Helden zuzugreifen.

Dabei stehen zur Zeit im wesentlichen zwei verschiedene Schnittstellen zur Verfügung, die Informationen über die Helden auf unterschiedliche Weisen zurückliefern.

Die Sourcen für ein minimales Plugin können hier heruntergeladen werden.

Werte-Schnittstelle

Ermöglicht es auf die Daten eines Heldens mit Hilfe von verschiedenen Funktionen zuzugreifen.
Ansprechpartner: Maik / Zafnir

   /**
    * Gibt die Zauber Strings
    * @return Der Name des Zaubers [i][0] und die Repräsentation[i][1] 
    */
   String[][] getZauberAlsString();
   /**
    * Gibt die Sonderfertigkeiten Strings
    * @return Strings der Sonderfertigkeiten
    */
   String[] getSonderfertigkeitenAlsString();

Es fängt immer mit einer Klasse an die unser Plugin-Interface implementiert: z.B. helden.plugin.HeldenWertePlugin3

Die "doWork(JFrame frame, PluginHeld2[] helden, PluginHeldenWerteWerkzeug3 phww)" Methode liefert dir hier den Frame um das Layout zu übernehmen, die Liste der Helden die vom Helden-Jar geladen wurden und das Werkzeug, mit dem du alle Werte abrufen kannst.

Die Klasse, die das Interface implementiert, muss auch im Manifest eingetragen werden, damit wir es finden.

Wichtig, nur bei sehr wenigen Methoden ist eine Rückwirkung, also eine Veränderung unserer Werte, möglich.

DatenXml Schnittstelle

Alle Daten eines oder aller Helden werden in einem XML-Format zurückgeliefert.
Ansprechpartner: Sven / little.yoda

   <profession>
       <text>Geode: Diener Sumus</text>
       <textkurz>Geode</textkurz>
   </profession>
   <ap>
       <gesamt>10525</gesamt>
       <frei>12</frei>
       <genutzt>10513</genutzt>
   </ap>
   <talent>
       <name>Geschichtswissen</name>
       <basis>false</basis>
       <nameausfuehrlich>Geschichtswissen</nameausfuehrlich>
       <wert>4</wert>
       <probe>KL/KL/IN</probe>
       <nameausfuehrlichmitprobe>Geschichtswissen (KL/KL/IN)</nameausfuehrlichmitprobe>
       <behinderung/>
       <mirakelplus>false</mirakelplus>
       <mirakelminus>false</mirakelminus>
       <bereich>Wissen</bereich>
       <komplexität>B</komplexität>
       <lernkomplexität>B</lernkomplexität>
   </talent>

Hier kann ein vollständiges Beispiel heruntergeladen werden.

Mit Hilfe von JAXB ist auch unter Java ein Zugriff auf die XML-Daten via Objekte möglich.

Diese Schnittstelle kann auch von Nicht-Java-Programmen mit Hilfe einer TCP/IP-Verbindung genutzt werden.