#ifndef Neuigkeiten_H
#define Neuigkeiten_H

#include <KSGScript.h>
#include <Rahmen.h>
#include <Thread.h>

using namespace KSGScript;
using namespace Framework;

class Neuigkeiten; // Aus dieser Datei

class NewsThread : private Thread
{
private:
	Text *scriptName;
	KSGScriptObj *obj;
	Neuigkeiten *news;
	
public:
	// Konstruktor
	NewsThread( char *name, KSGScriptObj *obj, Neuigkeiten *n );
	// Destruktor
	~NewsThread();
	// nicht constant
	void thread();
};

class Neuigkeiten : public Zeichnung
{
private:
	Punkt begPos;
	Punkt begGröße;
	Punkt pos1;
	Punkt größe1;
	Punkt pos2;
	Punkt größe2;
	Punkt bildschirmGröße;
	LRahmen *rahmen;
	HMODULE ksgsDLL;
	KSGScriptObj *script;
	TextFeld *fehler;
	Animation2D *laden;
	int animation;
	bool wirdGeladen;
	int alpha;
	bool sichtbar;
	int prozent1;
	int prozent2;
	double tickVal;
	int ref;

public:
	// Konstruktor
	Neuigkeiten( Schrift *zSchrift, Fenster *zNachLoginFenster, int x );
	// Destruktor
	~Neuigkeiten();
	// nicht constant
	void setSichtbar( bool sicht );
	void endLaden( char *err );
	void rückruf( RCArray< KSGSVariable > *parameter, KSGSVariable **ret );
	void doMausEreignis( MausEreignis &me ) override;
	void doTastaturEreignis( TastaturEreignis &te ) override;
	bool tick( double z ) override;
	void render( Bild &zRObj ) override;
	// constant
	bool istAnimiert() const;
	bool istSichtbar() const;
	// Reference Counting
	Neuigkeiten *getThis();
	Neuigkeiten *release();
};

#endif