#ifndef Statistik_H
#define Statistik_H

#include "StatistikKlasse.h"
#include "Spieler.h"
#include "SSDatenbankV.h"
#include "SpielerStatistik.h"
#include "TeamStatistik.h"

class Statistik : public StatistikV
{
private:
	int spielId;
	int karteId;
	SSDatenbankV *db;
	int spielerAnzahl;
	RCArray< Spieler > *spieler;
	bool erstellt;
	Array< bool > *sOnline;
	Array< bool > *sBereit;
	RCArray< SpielerStatistik > *gss;
	RCArray< TeamStatistik > *gts;
	RCArray< Text > *teamNamen;
	int gewinnerTeam;
	int ref;

	void sendeStatistik( int index );

public:
	// Konstruktor
	Statistik();
	// Destruktor
	~Statistik();
	// nicht constant
	void setSpielId( int id );
	void setKarteId( int id );
	void setPSQLDB( SSDatenbankV *db );
	void setTeamNamen( RCArray< Text > *namen );
	void spielEnde( int team );
	void setSpieler( int anzahl, RCArray< Spieler > *zSpieler );
	virtual void klientOffline( int accountId );
	virtual void statistikAnfrage( int accountId, short len, char *bytes );
	virtual void run();
	// Reference Counting
	virtual StatistikV *getThis();
	virtual StatistikV *release();
};

#endif