SpielObjekt.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef SpielObjekt_H
  2. #define SpielObjekt_H
  3. #include <Vec2.h>
  4. #include <Model2D.h>
  5. #include "../Team/Team.h"
  6. #include "../Karte/Strukturen.h"
  7. #include <TextFeld.h>
  8. #include <Welt2D.h>
  9. #include "../Schuss/Laser.h"
  10. #include "../Spieler/DeadPlayer.h"
  11. using namespace Framework;
  12. class SpielObjekt : public Model2DObject
  13. {
  14. private:
  15. struct ObjektDataSave
  16. {
  17. float rSpeed;
  18. Vertex pos;
  19. Vertex speed;
  20. float rotation;
  21. bool amLeben;
  22. double akkuAbk;
  23. double repAbk;
  24. double energie;
  25. double stabilität;
  26. double reparatur;
  27. double akkuLeistung;
  28. double maxEnergie;
  29. double maxStabilität;
  30. int level;
  31. } last;
  32. int id;
  33. int style;
  34. double stabilität;
  35. double energie;
  36. double maxStabilität;
  37. double maxEnergie;
  38. int energieRadius;
  39. double reparatur;
  40. double akkuLeistung;
  41. double repAbk;
  42. double akkuAbk;
  43. bool amLeben;
  44. int level;
  45. float ep;
  46. float nextSkillEp;
  47. Team *zteam;
  48. TextFeld *nText;
  49. DeadPlayer *deadPlayer;
  50. public:
  51. // Konstruktor
  52. SpielObjekt( ObjektStr *zStr, Schrift *zSchrift );
  53. // Destruktor
  54. ~SpielObjekt();
  55. // nicht constant
  56. void setTextur( Bild *textur );
  57. void setTeam( Team *zTeam );
  58. bool tick( const WeltInfo &info, double zeit ) override;
  59. void render( Mat3<float> &kamMat, Bild &zRObj, const char *kamName ) override;
  60. void nimmSchaden( double &intensity, int sLevel );
  61. void addEp( float ep );
  62. DeadPlayer *sterben();
  63. void calcDeadPlayerObject( Laser *zSchuss );
  64. void save();
  65. void load();
  66. // constant
  67. Team *zTeam() const;
  68. bool doesShotAddEp() const;
  69. int getLevel() const;
  70. int getObjektId() const;
  71. };
  72. #endif