#pragma once #include #include #include namespace Editor { struct ResourceDaten; struct TeamDaten; struct SpielerDaten; struct ObjektDaten; class SpielerTeamStruktur : public SpielerTeamStrukturV { public: SpielerTeamStruktur(); ~SpielerTeamStruktur(); SpielerTeamStrukturV *getThis() override; SpielerTeamStrukturV *release() override; }; class EditorKlient { private: KSGClient::EditorServerClient *klient; Text error; int ref; Critical cs; void loadMapResourcePathsFromFolder( const char *folderPath, RCArray< Text > *zPaths ); public: // Konstruktor // k: Der zu verwendende Klient EditorKlient( KSGClient::EditorServerClient *k ); // Destruktor ~EditorKlient(); // Initialisiert den Server // return: 1, falls erfolgreich // 2, falls bereits eine Sitzung existiert // 0, sonnst int init(); // Verwirft die vorhandene Sitzung und erstellt eine neue bool sitzungVerwerfen(); // Speichert Sitzung und beendet Editor bool sitzungBeenden(); // Lädt die Spieler Team Struktur bool getSpielerTeamStruktur( SpielerTeamStrukturV *zSts ); bool loadMapSize( Punkt &size ); bool saveTeam( const TeamDaten *team ); bool saveSpieler( const SpielerDaten *spieler ); bool saveObjekt( const ObjektDaten *objekt ); bool deleteObjekt( int id ); bool loadResources( Array< ResourceDaten * > &resources ); int addResource( const char *path ); bool loadSpieler( Array< SpielerDaten* > &spieler ); bool loadTeams( Array< TeamDaten* > &teams ); bool loadObjekte( Array< ObjektDaten* > &Objekte ); Bild *loadBild( const char *templatePath ); Model2DData *loadModel( const char *templatePath ); RCArray< Text > *getAllMapResourcePaths(); // Gibt den Letzten Fehler zurück char *getLastError() const; // Reference Counting EditorKlient *getThis(); EditorKlient *release(); }; }