#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, "", 0x101 );
        txt = "Bei dem spiel Linie bewegen sich die Spieler duch ein Spielfeld und können nur ihre Richtung beeinflussen. Dabei hinterlässt Jeder Spieler eine Linie die nicht berührt werden darf. Viel spaß wünscht ihnen Kolja-Strohm Games.";
        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 );
            beschreibung.setTextNachGröße();
            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 )
{
    beschreibung.render( rObj );
}