#include <KSGSStandart.h>

class TextErscheinen
{
private:
    var TextFeld beschreibung;
    var Text txt;
    var int num;
    var int l�n;
    var double z;
public:
    func void init()
    {
        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
        txt = "Das Ausgew�hlte Spiel ist nicht aktuell.";
        l�n = txt.getL�nge();
        num = 0;
        z = 0;
    }
    func bool next( double zeit )
    {
        z += zeit;
        if( ( z > 0.03 ) && ( num < l�n ) )
        {
            var Text t;
            t = beschreibung.getText();
            while( z > 0.03 )
            {
                z -= 0.03;
                t.anh�ngen( txt.getTeilText( num, num + 1 ) );
                num += 1;
                if( num >= l�n )
                {
                    break;
                }
            }
            beschreibung.setText( t );
            return true;
        }
        return false;
    }
    func void render( Bild b )
    {
        beschreibung.render( b );
    }
};

var TextErscheinen beschreibung;

func void start()
{
    beschreibung.init();
}

func void initTextFeld( TextFeld tf, int x, int y, int br, int h�, Text t, int style )
{
    tf.setPosition( x, y );
    tf.setGr��e( br, h� );
    tf.setStyle( style );
    tf.setSchriftFarbe( 0xFFFFFFFF );
    tf.setText( t );
}

func void initKnopf( Knopf k, int x, int y, int br, int h�, Text t )
{
    k.setPosition( x, y );
    k.setGr��e( br, h� );
    k.setText( t );
    k.addStyle( 0x1 );
}

func bool maus( MausEreignis me )
{
    return me.verarbeitet;
}

func bool tick( double z )
{
    var bool ret;
    ret = beschreibung.next( z );
    return ret;
}

func void render( Bild rObj )
{
    if( begin == true )
    {
        beschreibung.render( rObj );
    }
}