Эх сурвалжийг харах

abstrakte HistorieServerClient und MinigameServerClient Klassen hinzugefügt

Kolja Strohm 6 жил өмнө
parent
commit
9e7818aa22
1 өөрчлөгдсөн 77 нэмэгдсэн , 1 устгасан
  1. 77 1
      Include/KSGNetwork.h

+ 77 - 1
Include/KSGNetwork.h

@@ -5,6 +5,7 @@
 namespace Framework
 {
     class Text;
+    class Datei;
 }
 
 namespace Network
@@ -789,14 +790,89 @@ namespace KSGClient
     //  Kann nur von eingeloggten Clients verwendet werden
     class HistorieServerClient
     {
+    protected:
+        // verbindet sich mit dem zugewiesenen Historie Server
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        virtual bool verbinde( char *ip, int port ) = 0;
+        // Trennt die Verbindung zum Server
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        //  Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
+        virtual bool trenne() = 0;
 
+    public:
+        // Lädt die Spiel Aufzeichnung eines Spiels herunter und speichert sie unter data/tmp/historie/{spielId}
+        //  Die Spielid wurde dem Objekt zum Zeitpunkt der Erstellung vom Information Server mitgegeben
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        //  Diese Funktion verbindet sich selbstständig mit dem Server und trennt die Verbindung nach Beendigung des Vorgangs
+        virtual bool downloadSpielHistorie() = 0;
+        // gibt den Letzten Fehlertext zuück
+        //  sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
+        virtual char *getLetzterFehler() const = 0;
+        // Erhöht den Reference Counter um 1 un gibt this zurück
+        virtual HistorieServerClient *getThis() = 0;
+        // Verringert den Reference Counter um 1 und gibt 0 zurück.
+        //  Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst 
+        virtual HistorieServerClient *release() = 0;
     };
 
     // Wird verwendet um Minigame Bestscores abzufragen und Minigame Spielaufzeichnungen zu laden
     //  Kann nur von eingeloggten Clients verwendet werden
     class MinigameServerClient
     {
-
+    public:
+        // verbindet sich mit dem zugewiesenen Minigame Server
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        virtual bool verbinde() = 0; 
+        // Ermittelt die liste mit allen Optionen zu einem Minigame zurück, zu denen es Welt beste Scores gibt
+        //  mName: Der Name des Minigames
+        //  zOptionList: Enthält nach erfolgreichem Aufruf eine Liste mit Optionen
+        //  Gibt die Anzahl der Optionen zurück
+        virtual int getMinigameOptionList( char *mName, Framework::RCArray< Framework::Text > *zOptionList ) = 0;
+        // Ermittelt eine Liste mit den Weltbesten Scores zurück
+        //  mName: Der Name des Minigames
+        //  zScore: Enthält nach erfolgreichem Aufruf eine Liste mit Scores
+        //  zPlayerList: Enthält nach erfolgreichem Aufruf eine Liste mit angezeigten Account Namen, die die Scores erreicht haben.
+        //  zOptionList: Enthält nach erfolgreichem Aufruf eine Liste mit Optionen, die beim erreichen der Scores aktiv waren.
+        //  Gibt die Anzahl der Bestscores zurück
+        virtual int getMinigameBestscoreList( char *mName, Framework::Array< int > *zScore, Framework::RCArray< Framework::Text > *zPlayerList, Framework::RCArray< Framework::Text > *zOptionList ) = 0;
+        // Gibt den Welt bestscore zu einem Bestimmten Minigame mit bestimmten Optionen zurück.
+        //  mName: Der Name des Minigames
+        //  oName: Die Optionen
+        //  zPlayer: Enthält nach erfolgreichem Aufruf den Angezeigten Namen des Accounts, der den Score erreicht hat
+        virtual int getMinigameOptionBestscore( char *mName, char *oName, Framework::Text *zPlayer ) = 0;
+        // Meldet die Beendigung eines Minigames
+        //  mName: Der Name des Minigames
+        //  oName: Die Optionen mit denen gespielt wurde
+        //  score: Der Erreichte Score
+        //  Gibt 0 zurück wenn eines Fehler aufgetreten ist, 1 wenn der Forgang erfolgreich war, 2 wenn ein Game Capture hochgeladen werden muss
+        virtual int reportEndOfGame( char *mName, char *oName, int score ) = 0;
+        // Lädt ein Game Capture hoch
+        //  zCapture: Ein Zeiger auf die Capture Datei
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        virtual bool uploadGameCapture( Framework::Datei *zCapture ) = 0;
+        // Lädt ein Game Capture herunter und speichert sie unter data/tmp/minigames/wb.mgc
+        //  mName: Der Name des Minigames
+        //  oName: Die Optionen
+        //  Gibt die Datei mit dem Capture zurück
+        virtual Framework::Datei *downloadGameCapture( char *mName, char *oName ) = 0;
+        // Erhält die Verbindung aufrecht
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        //  Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
+        virtual bool keepAlive() = 0;
+        // Trennt die Verbindung zum Server
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        //  Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
+        virtual bool trenne() = 0;
+        // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
+        virtual bool istVerbunden() const = 0;
+        // gibt den Letzten Fehlertext zuück
+        //  sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
+        virtual char *getLetzterFehler() const = 0;
+        // Erhöht den Reference Counter um 1 un gibt this zurück
+        virtual MinigameServerClient *getThis() = 0;
+        // Verringert den Reference Counter um 1 und gibt 0 zurück.
+        //  Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst 
+        virtual MinigameServerClient *release() = 0;
     };
 
     // Wird verwendet um Karten für Spiele zu erstellen