EditorKlient.h 2.1 KB

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