|
@@ -151,6 +151,53 @@ namespace KSGClient
|
|
virtual ChatServerNachricht *release() = 0;
|
|
virtual ChatServerNachricht *release() = 0;
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ // Enthält alle Daten zur Team - Spieler Konstalation einer Karte
|
|
|
|
+ struct SpielerTeamStruktur
|
|
|
|
+ {
|
|
|
|
+ protected:
|
|
|
|
+ int ref; // Reference Counter
|
|
|
|
+
|
|
|
|
+ public:
|
|
|
|
+ int spielerAnzahl; // Die Anzahl der Spieler
|
|
|
|
+ int teamAnzahl; // Die Anzahl der Teams
|
|
|
|
+ Framework::Array< int > *spielerFarbe; // Eine Liste mit den Farben für jeden Spieler
|
|
|
|
+ Framework::Array< int > *teamFarbe; // Eine Liste mit Farben für jedes Team
|
|
|
|
+ Framework::RCArray< Framework::Text > *teamName; // Eine Liste mit namen für jedes Team
|
|
|
|
+ Framework::Array< int > *teamGröße; // Eine Liste Mit Spieleranzahlen für jedes Team
|
|
|
|
+ // Erhöht den Reference Counter um 1 un gibt this zurück
|
|
|
|
+ virtual SpielerTeamStruktur *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 SpielerTeamStruktur *release() = 0;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ // Enthält eine Nachricht von dem Spiel Server
|
|
|
|
+ struct SpielServerNachricht
|
|
|
|
+ {
|
|
|
|
+ protected:
|
|
|
|
+ int ref; // Reference Counter
|
|
|
|
+
|
|
|
|
+ public:
|
|
|
|
+ char type; // Typ der Nachricht
|
|
|
|
+ char sekunden; // Mit der Nachricht zusammenhängende Sekunden
|
|
|
|
+ char minuten; // Mit der Nachricht zusammenhängende Minuten
|
|
|
|
+ char stunden; // Mit der Nachricht zusammenhängende Stunden
|
|
|
|
+ Framework::Text *message; // Text der Nachricht
|
|
|
|
+ SpielerTeamStruktur *sts; // Die Spieler Team Struktur eines Spiels
|
|
|
|
+ int accountId; // Id des Accounts
|
|
|
|
+ int spielerNummer; // Die Spielernummer des Accounts
|
|
|
|
+ int karteId; // Die Id der Karte
|
|
|
|
+ int prozent; // Der Prozentuale Ladefortschritt
|
|
|
|
+ int ping; // Der Ping des Accounts (1000 = 1 Sekunde)
|
|
|
|
+ short län; // Länge der gesendeten Daten
|
|
|
|
+ char *data; // Die gesendeten Daten
|
|
|
|
+ // Erhöht den Reference Counter um 1 un gibt this zurück
|
|
|
|
+ virtual SpielServerNachricht *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 SpielServerNachricht *release() = 0;
|
|
|
|
+ };
|
|
|
|
+
|
|
// Wird benutzt, um die Verbindung mit den Servern aufrecht zu erhalten. Bei einem Verbindungsabbruch wird der Client automatisch abgemeldet
|
|
// Wird benutzt, um die Verbindung mit den Servern aufrecht zu erhalten. Bei einem Verbindungsabbruch wird der Client automatisch abgemeldet
|
|
class ErhaltungServerClient
|
|
class ErhaltungServerClient
|
|
{
|
|
{
|
|
@@ -782,52 +829,111 @@ namespace KSGClient
|
|
public:
|
|
public:
|
|
// verbindet sich mit dem zugewiesenen Karten Server
|
|
// verbindet sich mit dem zugewiesenen Karten Server
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
- bool verbinde();
|
|
|
|
|
|
+ virtual bool verbinde() = 0;
|
|
// lädt eine Karte herunter und speichert sie unter data/tmp/Karten/{id}/spiel
|
|
// lädt eine Karte herunter und speichert sie unter data/tmp/Karten/{id}/spiel
|
|
// id: Die Id der Karte
|
|
// id: Die Id der Karte
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
- bool downloadKarte( int id );
|
|
|
|
|
|
+ virtual bool downloadKarte( int id ) = 0;
|
|
// lädt das Titelbild Karte herunter und speichert es unter data/tmp/Karten/{id}/titel.ltdb
|
|
// lädt das Titelbild Karte herunter und speichert es unter data/tmp/Karten/{id}/titel.ltdb
|
|
// id: Die Id der Karte
|
|
// id: Die Id der Karte
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
- bool downloadKarteTitel( int id );
|
|
|
|
|
|
+ virtual bool downloadKarteTitel( int id ) = 0;
|
|
// lädt die Beschreibung Karte herunter und speichert sie unter data/tmp/Karten/{id}/beschreibung.ksgs
|
|
// lädt die Beschreibung Karte herunter und speichert sie unter data/tmp/Karten/{id}/beschreibung.ksgs
|
|
// id: Die Id der Karte
|
|
// id: Die Id der Karte
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
- bool downloadKarteBeschreibung( int id );
|
|
|
|
|
|
+ virtual bool downloadKarteBeschreibung( int id ) = 0;
|
|
// lädt die Minimap Karte herunter und speichert es unter data/tmp/Karten/{id}/minimap.ltdb
|
|
// lädt die Minimap Karte herunter und speichert es unter data/tmp/Karten/{id}/minimap.ltdb
|
|
// id: Die Id der Karte
|
|
// id: Die Id der Karte
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
- bool downloadKarteMinimap( int id );
|
|
|
|
|
|
+ virtual bool downloadKarteMinimap( int id ) = 0;
|
|
// lädt das Ladebild Karte herunter und speichert es unter data/tmp/Karten/{id}/ladebild.ltdb
|
|
// lädt das Ladebild Karte herunter und speichert es unter data/tmp/Karten/{id}/ladebild.ltdb
|
|
// id: Die Id der Karte
|
|
// id: Die Id der Karte
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
- bool downloadKarteLadebild( int id );
|
|
|
|
|
|
+ virtual bool downloadKarteLadebild( int id ) = 0;
|
|
// Erhält die Verbindung aufrecht
|
|
// Erhält die Verbindung aufrecht
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
// 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
|
|
// Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
|
|
- bool keepAlive();
|
|
|
|
|
|
+ virtual bool keepAlive() = 0;
|
|
// Trennt die Verbindung zum Server
|
|
// Trennt die Verbindung zum Server
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
// Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
// Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
|
|
// Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
|
|
- bool trenne();
|
|
|
|
|
|
+ virtual bool trenne() = 0;
|
|
// Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
|
|
// Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
|
|
- bool istVerbunden() const;
|
|
|
|
|
|
+ virtual bool istVerbunden() const = 0;
|
|
// gibt den Letzten Fehlertext zuück
|
|
// gibt den Letzten Fehlertext zuück
|
|
// sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
|
|
// sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
|
|
- char *getLetzterFehler() const;
|
|
|
|
|
|
+ virtual char *getLetzterFehler() const = 0;
|
|
// Erhöht den Reference Counter um 1 un gibt this zurück
|
|
// Erhöht den Reference Counter um 1 un gibt this zurück
|
|
- KartenServerClient *getThis();
|
|
|
|
|
|
+ virtual KartenServerClient *getThis() = 0;
|
|
// Verringert den Reference Counter um 1 und gibt 0 zurück.
|
|
// 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
|
|
// Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
|
|
- KartenServerClient *release();
|
|
|
|
|
|
+ virtual KartenServerClient *release() = 0;
|
|
};
|
|
};
|
|
|
|
|
|
// Wird zum Online Spielen verwendet
|
|
// Wird zum Online Spielen verwendet
|
|
// Kann nur von eingeloggten Clients verwendet werden
|
|
// Kann nur von eingeloggten Clients verwendet werden
|
|
class SpielServerClient
|
|
class SpielServerClient
|
|
{
|
|
{
|
|
-
|
|
|
|
|
|
+ public:
|
|
|
|
+ // verbindet sich mit dem zugewiesenen Karten Server
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool verbinde() = 0;
|
|
|
|
+ // Betritt das Vorgeschlagene Spiel
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool spielErstelltAnnehmen() = 0;
|
|
|
|
+ // Lehnt das Vorgeschlagene Spiel ab
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool spielErstelltAblehnen() = 0;
|
|
|
|
+ // Wechselt zu einem bestimmten Team
|
|
|
|
+ // team: Die Id des teams
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool spielErstelltTeamWechseln( int team ) = 0;
|
|
|
|
+ // Bestätigt die Teamauswahl so dass das Spiel früher beginnen kann
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool spielErstelltTeamFertig() = 0;
|
|
|
|
+ // sendet eine Chat Nachricht an die mitglieder des erstellten Spiels
|
|
|
|
+ // nachricht: Die Nachricht
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool spielErstelltChatNachricht( char *nachricht ) = 0;
|
|
|
|
+ // Teilt dem Server mit, dass der Client bereit ist das Spiel zu laden
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool bereitZumLaden() = 0;
|
|
|
|
+ // Teilt dem Server mit, zu wie viel Prozent der Client das Spiel geladen hat
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool setLadenProzent( int prozent ) = 0;
|
|
|
|
+ // Teilt dem Server mit, dass das Spiel fertig geladen wurde
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool bereitZumSpiel() = 0;
|
|
|
|
+ // Sendet während des Spiels eine Nachricht an den Server
|
|
|
|
+ // län: Die Länge der Nachricht
|
|
|
|
+ // bytes: Ein Zeiger auf die Nachricht
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool spielNachricht( short län, char *bytes ) = 0;
|
|
|
|
+ // Sendet während der Statistik eine Nachricht an den Server
|
|
|
|
+ // län: Die Länge der Nachricht
|
|
|
|
+ // bytes: Ein Zeiger auf die Nachricht
|
|
|
|
+ // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
|
|
|
|
+ virtual bool statistikNachricht( short län, char *bytes ) = 0;
|
|
|
|
+ // Wartet auf eine Nachricht vom Spiel Servers und gibt diese zurück.
|
|
|
|
+ virtual SpielServerNachricht *getNextMessage() = 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 SpielServerClient *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 SpielServerClient *release() = 0;
|
|
};
|
|
};
|
|
|
|
|
|
// Wird verwendet um Statistiken und Aufzeichnungen von vergangenen Spielen abzufragen
|
|
// Wird verwendet um Statistiken und Aufzeichnungen von vergangenen Spielen abzufragen
|