SpielKlasse.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #ifndef SpielKlasse_H
  2. #define SpielKlasse_H
  3. #include "SpielV.h"
  4. #include "Spieler\Spieler.h"
  5. #include "Karte\Karte.h"
  6. #include "Chat\Chat.h"
  7. #include "Ende\Ende.h"
  8. #include "Bestenliste\Bestenliste.h"
  9. #include "..\Netzwerk\STKNachricht.h"
  10. #include "Schuss\Laser.h"
  11. #include <Bildschirm.h>
  12. #include "Objekt/SpielObjekt.h"
  13. #include <Kamera2D.h>
  14. #include "Asteroid/Asteroid.h"
  15. #include "Asteroid/Pixel.h"
  16. class SpielKlasse : public SpielV
  17. {
  18. private:
  19. struct SaveData
  20. {
  21. int spielZeit;
  22. };
  23. RCArray< STKNachricht > *stkn;
  24. int stkna;
  25. Bestenliste *bestenliste;
  26. Schrift *schrift;
  27. KSGClient::InformationServerClient *infoKlient;
  28. KSGClient::SpielServerClient *spielKlient;
  29. RCArray< Spieler > *spieler;
  30. RCArray< Asteroid > *asteroids;
  31. RCArray< Team > *teams;
  32. RCArray< SpielObjekt > *objekte;
  33. RCArray< Laser > *schüsse;
  34. Bildschirm *screen;
  35. Karte *map;
  36. Kamera2D *kam;
  37. Kamera2D *minimap;
  38. Welt2D *welt;
  39. SpielChat *chat;
  40. Ende *end;
  41. SpielerGUI *shipGUI;
  42. Datei csv;
  43. RCArray< DeadPlayer > *deads;
  44. RCArray< Model2DData > *asteroidModels;
  45. RCArray< Textur2D > *asteroidTextures;
  46. RCArray< Pixel > *pixel;
  47. Bild *speedBoost;
  48. Bild *shieldBoost;
  49. bool rendern;
  50. int spielZeit;
  51. double rZeit;
  52. int spielerAnzahl;
  53. int karteId;
  54. int ladenProzent;
  55. int spielerNummer;
  56. char *tasten;
  57. bool spielPause;
  58. SaveData last;
  59. bool setKam;
  60. int ref;
  61. bool istAmLeben() const;
  62. void goBackInTime( int zeit );
  63. void goToPresence( int zeit );
  64. void load();
  65. void save();
  66. void tick();
  67. public:
  68. // Konstruktor
  69. SpielKlasse();
  70. // Destruktor
  71. ~SpielKlasse();
  72. // nicht constant
  73. void lock();
  74. void unlock();
  75. void setSchrift( Schrift *schrift ) override; // call 4
  76. void setBildschirm( Bildschirm *zScreen ) override; // call 3
  77. void nachricht( int län, char *bytes ) override;
  78. void setKlients( KSGClient::InformationServerClient *infoKlient, KSGClient::SpielServerClient *spielKlient ) override; // call 2
  79. void setKarteId( int karteId ) override; // call 1
  80. void ladeDaten() override; // call 5
  81. void doPublicMausEreignis( MausEreignis &me ) override;
  82. void doTastaturEreignis( TastaturEreignis &te ) override;
  83. void stknVerarbeitung();
  84. bool tick( double zeit ) override;
  85. void render( Bild &zRObj ) override;
  86. // constant
  87. int läuft() const override;
  88. // Reference Counting
  89. SpielV *getThis() override;
  90. SpielV *release() override;
  91. };
  92. #endif