#ifndef MiniGameV_H
#define MiniGameV_H

#include <MausEreignis.h>
#include <TastaturEreignis.h>
#include <Bildschirm.h>
#include <Schrift.h>

using namespace Framework;

namespace KSGClient
{
    class MinigameServerClient;
}

class MiniGameV
{
public:
	// nicht constant
	virtual bool laden() = 0;
    virtual void setMinigameClientZ( KSGClient::MinigameServerClient *client ) = 0;
	virtual void doMausEreignis( MausEreignis &me ) = 0;
	virtual void doTastaturEreignis( TastaturEreignis &te ) = 0;
	virtual bool tick( double zeit ) = 0;
	virtual void render( Bild &zRObj ) = 0;
	virtual void setSchriftZ( Schrift *schrift ) = 0;
	virtual void setBildschirmZ( Bildschirm * screen ) = 0;
	// constant
	virtual bool istEnde() const = 0;
	// Reference Counting
	virtual MiniGameV *getThis() = 0;
	virtual MiniGameV *release() = 0;
};

#endif