#ifndef SpielObjekt_H
#define SpielObjekt_H

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

using namespace Framework;

class SpielObjekt
{
private:
	Vec2< double > pos;
	int id;
	Model2D *mdl;
	int style;
	double stability;
	double energie;
	int maxStability;
	int maxEnergie;
	int energieRadius;
	double reparatur;
	double akkuLeistung;
	double repAbk;
	double akkuAbk;
	Team *team;
	int ref;

public:
	// Konstruktor
	SpielObjekt( ObjektStr *zStr );
	// Destruktor
	~SpielObjekt();
	// nicht constant
	void setModelData( Model2DData *data );
	void setTeam( Team *team );
	void tick();
	// constant
	Team *zTeam() const;
	// Reference Counting
	SpielObjekt *getThis();
	SpielObjekt *release();
};

#endif