EditorKlient.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #pragma once
  2. #include <KSGNetwork.h>
  3. #include <Punkt.h>
  4. #include <Critical.h>
  5. namespace Editor
  6. {
  7. struct TeamDaten;
  8. struct SpielerDaten;
  9. struct BariereDaten;
  10. struct BaseDaten;
  11. struct DropDaten;
  12. struct SchalterDaten;
  13. struct SchieneDaten;
  14. struct TimerDaten;
  15. struct TunnelDaten;
  16. struct UmlenkungDaten;
  17. struct TriggerDaten;
  18. struct VariableDaten;
  19. class SpielerTeamStruktur : public SpielerTeamStrukturV
  20. {
  21. public:
  22. SpielerTeamStruktur();
  23. ~SpielerTeamStruktur();
  24. SpielerTeamStrukturV *getThis() override;
  25. SpielerTeamStrukturV *release() override;
  26. };
  27. class EditorKlient : public virtual ReferenceCounter
  28. {
  29. private:
  30. KSGClient::EditorServerClient *klient;
  31. Text error;
  32. Critical cs;
  33. public:
  34. // Konstruktor
  35. // k: Der zu verwendende Klient
  36. EditorKlient( KSGClient::EditorServerClient *k );
  37. // Destruktor
  38. ~EditorKlient();
  39. // Initialisiert den Server
  40. // return: 1, falls erfolgreich
  41. // 2, falls bereits eine Sitzung existiert
  42. // 0, sonnst
  43. int init();
  44. // Verwirft die vorhandene Sitzung und erstellt eine neue
  45. bool sitzungVerwerfen();
  46. // Speichert Sitzung und beendet Editor
  47. bool sitzungBeenden();
  48. // Lädt die Spieler Team Struktur
  49. bool getSpielerTeamStruktur( SpielerTeamStrukturV *zSts );
  50. bool loadMapSize( Punkt &size );
  51. bool loadSpieler( Array< SpielerDaten * > &spieler );
  52. bool loadTeams( Array< TeamDaten * > &teams );
  53. bool loadBarieren( Array< BariereDaten * > &barieren );
  54. bool loadBasen( Array< BaseDaten * > &basen );
  55. bool loadDrops( Array< DropDaten * > &drops );
  56. bool loadSchalter( Array< SchalterDaten * > &schalter );
  57. bool loadSchienen( Array< SchieneDaten * > &schienen );
  58. bool loadTimer( Array< TimerDaten * > &timer );
  59. bool loadTunnel( Array< TunnelDaten * > &tunnel );
  60. bool loadUmlenkung( Array< UmlenkungDaten * > &umlenkung );
  61. bool loadTrigger( Array< TriggerDaten * > &trigger );
  62. bool loadVariable( Array< VariableDaten * > &variable );
  63. bool saveMapSize( Punkt size );
  64. bool saveTeam( const TeamDaten *team );
  65. bool saveSpieler( const SpielerDaten *spieler );
  66. bool saveBariere( const BariereDaten *bariere );
  67. bool saveBase( const BaseDaten *base );
  68. bool saveDrop( const DropDaten *drop );
  69. bool saveSchalter( const SchalterDaten *schalter );
  70. bool saveSchiene( const SchieneDaten *schiene );
  71. bool saveTimer( const TimerDaten *timer );
  72. bool saveTunnel( const TunnelDaten *tunnel );
  73. bool saveUmlenkung( const UmlenkungDaten *umlenkung );
  74. bool saveTrigger( const TriggerDaten *trigger );
  75. bool saveVariable( const VariableDaten *variable );
  76. bool deleteBariere( int id );
  77. bool deleteBase( int id );
  78. bool deleteDrop( int id );
  79. bool deleteSchalter( int id );
  80. bool deleteSchiene( int id );
  81. bool deleteTimer( int id );
  82. bool deleteTunnel( int id );
  83. bool deleteUmlenkung( int id );
  84. bool deleteTrigger( int id );
  85. bool deleteVariable( int id );
  86. // Gibt den Letzten Fehler zurück
  87. char *getLastError() const;
  88. };
  89. }