#ifndef KartenEditor_H
#define KartenEditor_H

#include <EditorV.h>
#include "Release/KERelease.h"
#include "ShopSeite/KEShopSeite.h"
#include "Beschreibung\KEBeschreibung.h"
#include "Teams/KETeams.h"
#include "Dateien/KEDateien.h"
#include <Schrift.h>
#include <MausEreignis.h>
#include <Knopf.h>

using namespace Framework;

class KartenEditor : private Thread
{
private:
	Schrift *schrift;
	Knopf *karteRelease;
	Knopf *shopSeite;
	Knopf *beschreibung;
	Knopf *teams;
	Knopf *dateien;
	Knopf *editor;
	Knopf *kaufHistorie;
	Knopf *beenden;
	KERelease *releaseF;
    KEShopSeite *shopSeiteF;
    KEBeschreibung *beschreibungF;
    KETeams *teamsF;
    KEDateien *dateienF;
    EditorV *editorF;
    HINSTANCE editorDll;
    Text dllName;
    Animation2D *laden;
	double tickVal;
	int jetzt;
	unsigned char alpha;
    unsigned char alpha2;
	bool sichtbar;
	int ref;

public:
	// Konstruktor
	KartenEditor( Schrift *schrift );
	// Destruktor
	~KartenEditor();
	// nicht constant
    void thread() override;
	void setKarte( int id );
	void setSichtbar( bool s );
	void doMausEreignis( MausEreignis &me );
	void doTastaturEreignis( TastaturEreignis &te );
	bool tick( double zeit );
	void render( Bild &zRObj );
	// constant
	bool istSichtbar() const;
	// Reference Counting
	KartenEditor *getThis();
	KartenEditor *release();
};

#endif;