GameObjekt.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #pragma once
  2. #include "../MapObjekt.h"
  3. class GameObjekt : public MapObjekt2D
  4. {
  5. private:
  6. struct GameObjectData
  7. {
  8. int id;
  9. int m2d;
  10. int bild;
  11. int style;
  12. int maxStability;
  13. int maxEnergie;
  14. int energieRadius;
  15. double reparatur;
  16. double akkuLeistung;
  17. char team;
  18. };
  19. GameObjectData data;
  20. protected:
  21. // Wird aufgerufen, wenn das Objekt durch den Nutzer verschoben wird
  22. virtual void onMoved() override;
  23. // Wird aufgerufen, wenn der Nutzer das Optionsfenster des Objekts aufrufen will
  24. virtual void onOpenOptionWindow() override;
  25. public:
  26. // Konstruktor
  27. // klient: Der Klient zum Editor Server
  28. GameObjekt( EditorKlient *klient );
  29. // Destructor
  30. ~GameObjekt();
  31. // Verarbeitet ein Maus Ereignis
  32. // me: Das Maus Ereignis
  33. void doMausEreignis( MausEreignis me ) override;
  34. // Verarbeitet ein Tastatur Ereignis
  35. // te: Das Tastaturereignis
  36. void doTastaturEreignis( TastaturEreignis te ) override;
  37. // Verarbeitet die vergangene Zeit
  38. // tv: Die vergangene Zeit in Sekunden seit dem letzten Aufruf der Funktion
  39. // return: 1, falls das objekt neu gezeichnet werden muss. 0 sonnst
  40. bool tick( double tv ) override;
  41. // Erhöht den reference Counter um 1
  42. // return this
  43. virtual MapObjekt *getThis() override;
  44. // Verringert den reference Counter um 1 und löscht das Objekt wenn er bei 0 ankommt
  45. // return 0
  46. virtual MapObjekt *release() override;
  47. };