#ifndef Team_H
#define Team_H

#include <Text.h>
#include "Spieler.h"
#include "Strukturen.h"

class Team
{
private:
	double maxEnergieS;
	double maxStabilityS;
	double reparaturS;
	double laserIntensityS;
	double laserEffizienzS;
	double akkuLeistungS;
	double laserTempoS;
	double beschleunigungS;
	double wendigkeitS;
    double antriebEffizienzS;
    double energieSchildS;
    double energieSchildEffizienzS;
	int ref;

public:
	// variablen
	int id;
	int farbe;
	Text name;
	RCArray< Spieler > *spieler;
	int punkte;
	int maxPunkte;
	double maxEnergie;
	double maxStability;
	double reparatur;
	double laserIntensity;
	double laserEffizienz;
	double akkuLeistung;
	double laserTempo;
	double beschleunigung;
	double wendigkeit;
    double antriebEffizienz;
    double energieSchild;
    double energieSchildEffizienz;
	// Konstruktor
	Team( int f, char *n, TeamStr *zStr );
	// Destruktor
	~Team();
	// nicht constant
	void reset();
	// constant
	double getMaxEnergieBonus() const;
	double getMaxStabilityBonus() const;
	double getReperaturBonus() const;
	double getLaserIntensityBonus() const;
	double getLaserEffizienzBonus() const;
	double getAkkuLeistungBonus() const;
	double getLaserTempoBonus() const;
	double getBeschleunigungBonus() const;
	double getWendigkeitBonus() const;
    double getAntriebEffizienzBonus() const;
    double getEnergieSchildBonus() const;
    double getEnergieSchildEffizienzBonus() const;
	// Reference Counting
	Team *getThis();
	Team *release();
};

#endif