#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 : public virtual ReferenceCounter { private: KSGClient::EditorServerClient* klient; Text error; 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 const char* getLastError() const; }; }