SpielObjekt.h 1.8 KB

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