EditorKlient.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. void loadMapResourcePathsFromFolder( const char *folderPath, RCArray< Text > *zPaths );
  25. public:
  26. // Konstruktor
  27. // k: Der zu verwendende Klient
  28. EditorKlient( KSGClient::EditorServerClient *k );
  29. // Destruktor
  30. ~EditorKlient();
  31. // Initialisiert den Server
  32. // return: 1, falls erfolgreich
  33. // 2, falls bereits eine Sitzung existiert
  34. // 0, sonnst
  35. int init();
  36. // Verwirft die vorhandene Sitzung und erstellt eine neue
  37. bool sitzungVerwerfen();
  38. // Speichert Sitzung und beendet Editor
  39. bool sitzungBeenden();
  40. // Lädt die Spieler Team Struktur
  41. bool getSpielerTeamStruktur( SpielerTeamStrukturV *zSts );
  42. bool loadMapSize( Punkt &size );
  43. bool saveTeam( const TeamDaten *team );
  44. bool saveSpieler( const SpielerDaten *spieler );
  45. bool saveObjekt( const ObjektDaten *objekt );
  46. bool deleteObjekt( int id );
  47. bool loadResources( Array< ResourceDaten * > &resources );
  48. int addResource( const char *path );
  49. bool loadSpieler( Array< SpielerDaten* > &spieler );
  50. bool loadTeams( Array< TeamDaten* > &teams );
  51. bool loadObjekte( Array< ObjektDaten* > &Objekte );
  52. Bild *loadBild( const char *templatePath );
  53. Model2DData *loadModel( const char *templatePath );
  54. RCArray< Text > *getAllMapResourcePaths();
  55. // Gibt den Letzten Fehler zurück
  56. char *getLastError() const;
  57. // Reference Counting
  58. EditorKlient *getThis();
  59. EditorKlient *release();
  60. };
  61. }