EditorKlient.h 2.2 KB

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