123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #ifndef SpielObjekt_H
- #define SpielObjekt_H
- #include <Vec2.h>
- #include <Model2D.h>
- #include "../Team/Team.h"
- #include "../Karte/Strukturen.h"
- #include <TextFeld.h>
- #include <Welt2D.h>
- #include "../Schuss/Laser.h"
- #include "../Spieler/DeadPlayer.h"
- #include <UIInitialization.h>
- using namespace Framework;
- class SpielObjekt : public Model2DObject
- {
- private:
- struct ObjektDataSave
- {
- float rSpeed;
- Vertex pos;
- Vertex speed;
- float rotation;
- bool amLeben;
- double akkuAbk;
- double repAbk;
- double energie;
- double stabilität;
- double reparatur;
- double akkuLeistung;
- double maxEnergie;
- double maxStabilität;
- int level;
- } last;
- int id;
- int style;
- double stabilität;
- double energie;
- double maxStabilität;
- double maxEnergie;
- int energieRadius;
- double reparatur;
- double akkuLeistung;
- double repAbk;
- double akkuAbk;
- bool amLeben;
- int level;
- float ep;
- float nextSkillEp;
- Team *zteam;
- TextFeld *nText;
- DeadPlayer *deadPlayer;
- public:
- // Konstruktor
- SpielObjekt( ObjektStr *zStr, UIInit &uiFactory );
- // Destruktor
- ~SpielObjekt();
- // nicht constant
- void setTextur( Bild *textur );
- void setTeam( Team *zTeam );
- bool tick( const WeltInfo &info, double zeit ) override;
- void render( Mat3<float> &kamMat, Bild &zRObj, const char *kamName ) override;
- void nimmSchaden( double &intensity, int sLevel );
- void addEp( float ep );
- DeadPlayer *sterben();
- void calcDeadPlayerObject( Laser *zSchuss );
- void save();
- void load();
- // constant
- Team *zTeam() const;
- bool doesShotAddEp() const;
- int getLevel() const;
- int getObjektId() const;
- };
- #endif
|