#ifndef SpielObjekt_H
#define SpielObjekt_H

#include <Vec2.h>
#include <Model2D.h>
#include "Team.h"
#include "Strukturen.h"

using namespace Framework;

class SpielObjekt : public Model2DObject
{
private:
	int id;
	int style;
	double stability;
	double energie;
	int maxStability;
	int maxEnergie;
	int energieRadius;
	double reparatur;
	double akkuLeistung;
	double repAbk;
	double akkuAbk;
    bool amLeben;
    int level;
    float ep;
    float nextSkillEp;
    WeltInfo wInfo;
	Team *team;

public:
	// Konstruktor
	SpielObjekt( ObjektStr *zStr );
	// Destruktor
	~SpielObjekt();
	// nicht constant
    void addEp( float ep );
	void setTeam( Team *team );
	bool tick( const WeltInfo &info, double zeit ) override;
    bool nimmSchaden( double &intensity, int sLevel );
	// constant
    bool doesCollideWithLaser() const;
    bool doesShotAddEp() const;
	Team *zTeam() const;
    bool istTreffer( Vec2< float > pos ) const;
    int getLevel() const;
    int getObjektId() const;
};

#endif