#include "RundenTeamStatistik.h"

// Inhalt der RundenTeamStatistik Klasse aus RundenTeamStatistik.h
// Konstruktor
RundenTeamStatistik::RundenTeamStatistik()
{
	teamNummer = 0;
	teamName = new Text();
	teamFarbe = 0;
	ergebnis = 0;
	linienLength = 0;
	kills = 0;
	tode = 0;
	ref = 1;
}

// Destruktor
RundenTeamStatistik::~RundenTeamStatistik()
{
	teamName->release();
}

// nicht constant
void RundenTeamStatistik::initValues( InitDatei *dat )
{
	if( dat->wertExistiert( "TeamNummer" ) )
		teamNummer = *dat->zWert( "TeamNummer" );
	if( dat->wertExistiert( "TeamName" ) )
		*teamName = dat->zWert( "TeamName" )->getText();
	if( dat->wertExistiert( "TeamFarbe" ) )
		teamFarbe = *dat->zWert( "TeamFarbe" );
	if( dat->wertExistiert( "Ergebnis" ) )
		ergebnis = *dat->zWert( "Ergebnis" );
	if( dat->wertExistiert( "LinienLänge" ) )
		linienLength = *dat->zWert( "LinienLänge" );
	if( dat->wertExistiert( "Kills" ) )
		kills = *dat->zWert( "Kills" );
	if( dat->wertExistiert( "Tode" ) )
		tode = *dat->zWert( "Tode" );
	dat->release();
}

// constant
int RundenTeamStatistik::getTeamNummer() const
{
	return teamNummer;
}

Text *RundenTeamStatistik::getTeamName() const
{
	return teamName ? teamName->getThis() : 0;
}

Text *RundenTeamStatistik::zTeamName() const
{
	return teamName;
}

int RundenTeamStatistik::getTeamFarbe() const
{
	return teamFarbe;
}

int RundenTeamStatistik::getErgebnis() const
{
	return ergebnis;
}

int RundenTeamStatistik::getLinienLength() const
{
	return linienLength;
}

int RundenTeamStatistik::getKills() const
{
	return kills;
}

int RundenTeamStatistik::getTode() const
{
	return tode;
}

// Reference Counting
RundenTeamStatistik *RundenTeamStatistik::getThis()
{
	ref++;
	return this;
}

RundenTeamStatistik *RundenTeamStatistik::release()
{
	ref--;
	if( !ref )
		delete this;
	return 0;
}