EditorKlient.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. #include <KSGNetwork.h>
  3. #include <Punkt.h>
  4. namespace Editor
  5. {
  6. struct ResourceDaten;
  7. struct TeamDaten;
  8. struct SpielerDaten;
  9. struct ObjektDaten;
  10. class SpielerTeamStruktur : public SpielerTeamStrukturV
  11. {
  12. public:
  13. SpielerTeamStruktur();
  14. ~SpielerTeamStruktur();
  15. SpielerTeamStrukturV *getThis() override;
  16. SpielerTeamStrukturV *release() override;
  17. };
  18. class EditorKlient
  19. {
  20. private:
  21. KSGClient::EditorServerClient *klient;
  22. Text error;
  23. int ref;
  24. public:
  25. // Konstruktor
  26. // k: Der zu verwendende Klient
  27. EditorKlient( KSGClient::EditorServerClient *k );
  28. // Destruktor
  29. ~EditorKlient();
  30. // Initialisiert den Server
  31. // return: 1, falls erfolgreich
  32. // 2, falls bereits eine Sitzung existiert
  33. // 0, sonnst
  34. int init();
  35. // Verwirft die vorhandene Sitzung und erstellt eine neue
  36. bool sitzungVerwerfen();
  37. // Speichert Sitzung und beendet Editor
  38. bool sitzungBeenden();
  39. // Lädt die Spieler Team Struktur
  40. bool getSpielerTeamStruktur( SpielerTeamStrukturV *zSts );
  41. bool loadMapSize( Punkt &size );
  42. bool saveTeam( const TeamDaten *team );
  43. bool saveSpieler( const SpielerDaten *spieler );
  44. bool saveObjekt( const ObjektDaten *objekt );
  45. bool deleteObjekt( int id );
  46. bool loadResources( Array< ResourceDaten * > &resources );
  47. bool loadSpieler( Array< SpielerDaten* > &spieler );
  48. bool loadTeams( Array< TeamDaten* > &teams );
  49. bool loadObjekte( Array< ObjektDaten* > &Objekte );
  50. Bild *loadBild( const char *templatePath );
  51. Model2DData *loadModel( const char *templatePath );
  52. // Gibt den Letzten Fehler zurück
  53. char *getLastError() const;
  54. // Reference Counting
  55. EditorKlient *getThis();
  56. EditorKlient *release();
  57. };
  58. }