12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #pragma once
- #include "../Include/KSGNetwork.h"
- #include <Critical.h>
- namespace KSGClient
- {
- // Wird zum Online Spielen verwendet
- // Kann nur von eingeloggten Clients verwendet werden
- class SpielClient : public SpielServerClient
- {
- private:
- Framework::Text ip;
- unsigned short port;
- int cId;
- Network::Klient* senden;
- Network::Klient* empfangen;
- char* key;
- unsigned char keyLen;
- Framework::Critical cs;
- Framework::Text err;
- public:
- // Konstruktor
- SpielClient(int klientId, unsigned short port, const char* ip, const char* key, unsigned char keyLen);
- // Destruktor
- ~SpielClient();
- // verbindet sich mit dem zugewiesenen Karten Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool verbinde() override;
- // Betritt das Vorgeschlagene Spiel
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool spielErstelltAnnehmen() override;
- // Lehnt das Vorgeschlagene Spiel ab
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool spielErstelltAblehnen() override;
- // Wechselt zu einem bestimmten Team
- // team: Die Id des teams
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool spielErstelltTeamWechseln(int team) override;
- // Bestätigt die Teamauswahl so dass das Spiel früher beginnen kann
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool spielErstelltTeamFertig() override;
- // sendet eine Chat Nachricht an die mitglieder des erstellten Spiels
- // nachricht: Die Nachricht
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool spielErstelltChatNachricht(const char* nachricht) override;
- // Teilt dem Server mit, dass der Client bereit ist das Spiel zu laden
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool bereitZumLaden() override;
- // 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
- bool setLadenProzent(int prozent) override;
- // Teilt dem Server mit, dass das Spiel fertig geladen wurde
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool bereitZumSpiel() override;
- // 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
- bool spielNachricht(short län, const char* bytes) override;
- // 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
- bool statistikNachricht(short län, const char* bytes) override;
- // Wartet auf eine Nachricht vom Spiel Server.
- // Gibt bei Erfolg 1 zurück, 0 sonnst
- // nachricht: Eine Referenz auf die Struktur, in der die Nachricht gespeichert werden soll
- bool getNextMessage(SpielServerNachricht& nachricht) override;
- // 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
- bool keepAlive() override;
- // 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
- bool trenne() override;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- bool istVerbunden() const override;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- const char* getLetzterFehler() const override;
- };
- }
|