#ifndef SpielErstellt_H
#define SpielErstellt_H

#include <Klient.h>
#include <Thread.h>
#include <Array.h>

using namespace Framework;
using namespace Network;

class SSKlient;
struct SpielerTeamStruktur;
class SpielServer;

class SpielErstellt : public Thread
{
private:
	SpielServer *ss;
	int id;
	int spielArt;
	int karte;
	int spielerAnzahl;
	int verbunden;
	Array< int > *accounts;
	RCArray< SSKlient > *klients;
	Array< int > *status;
	int state;
	bool abbr;
	int spielId;

public:
	// Konstruktor
	SpielErstellt( int id, SpielServer *ss );
	// Destruktor
	virtual ~SpielErstellt();
	// nicht constant
	void abbruch();
	void sendeVerbindungsBefehl();
	bool klientVerbunden( SSKlient *klient );
	bool klientNimmtAn( int accountId );
	bool klientLehntAb( int accountId );
	bool klientGetrennt( SSKlient *zKlient );
	virtual void thread();
	// constant
	int getId() const;
};

class SpielFinden : public Thread
{
private:
	SpielServer *ss;
	bool end;
	int spielServerId;

public:
	// Konstruktor
	SpielFinden( SpielServer *ss );
	// Destruktor
	virtual ~SpielFinden();
	// nicht constant
	void setEnde();
	void setSpielServerId( int id );
	virtual void thread();
};

#endif