123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727 |
- #include "KESSVorschau.h"
- #include "../../../../Global/Variablen.h"
- #include "../../../../Global/Initialisierung.h"
- #include <DateiSystem.h>
- void kESSVorschauKSGSAktion( void *p, RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
- {
- if( !p )
- return;
- ( (KESSVorschauKarteScript*)p )->ksgsAktion( parameter, retVal );
- }
- // Inhalt der KESSVorschauKarteScript Klasse aus KESSVorschau.h
- // Konstruktor
- KESSVorschauKarteScript::KESSVorschauKarteScript( Schrift *zSchrift, TextFeld *zLog )
- : Thread()
- {
- ksgs = dllDateien->ladeDLL( "KSGScript.dll", "data/bin/KSGScript.dll" );
- if( ksgs )
- {
- KSGSGetZeichnung getKSGScript = (KSGSGetZeichnung)GetProcAddress( ksgs, KSGS_START_FUNKTION );
- if( getKSGScript )
- {
- fenster = getKSGScript();
- fenster->setSchriftZ( zSchrift->getThis() );
- fenster->setSize( 555, 380 );
- fenster->setRückrufParam( this );
- fenster->setRückrufFunktion( kESSVorschauKSGSAktion );
- fenster->setLog( zLog->getThis() );
- }
- else
- {
- fenster = 0;
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Der Einstiegspunkt '" KSGS_START_FUNKTION "' in der DLL-Datei "
- "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- }
- else
- {
- fenster = 0;
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht geladen werden." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- ram = new LRahmen();
- ram->setSize( 555, 380 );
- ram->setFarbe( 0xFFFFFFFF );
- pos = Punkt( 220, 10 );
- sichtbar = 0;
- besitztTestVersion = 0;
- verbleibend = 0;
- vollversionErwerbbar = 1;
- testversionErwerbbar = 1;
- vvPreis = 0;
- tvPreis = 0;
- kupfer = 0;
- alpha = 0;
- aktion = 0;
- ak = 0;
- ref = 1;
- }
- // Destruktor
- KESSVorschauKarteScript::~KESSVorschauKarteScript()
- {
- if( fenster )
- {
- fenster->zurücksetzen();
- fenster->release();
- }
- ram->release();
- if( ksgs )
- dllDateien->releaseDLL( "KSGScript.dll" );
- }
- // nicht constant
- void KESSVorschauKarteScript::thread()
- {
- sichtbar = 0;
- while( alpha )
- Sleep( 100 );
- if( ak == 1 )
- {
- pfad += "/seite/seite.ksgs";
- if( fenster )
- fenster->setScriptDatei( pfad );
- }
- fenster->neuLaden();
- sichtbar = 1;
- ak = 0;
- run = 0;
- }
- void KESSVorschauKarteScript::setScriptParams( bool hatTV, int tvVerb, bool vvEn, bool tvEn, int vvK, int tvK, int k )
- {
- besitztTestVersion = hatTV;
- verbleibend = tvVerb;
- vollversionErwerbbar = vvEn;
- testversionErwerbbar = tvEn;
- vvPreis = vvK;
- tvPreis = tvK;
- kupfer = k;
- if( sichtbar )
- {
- ak = 2;
- start();
- }
- }
- void KESSVorschauKarteScript::ladeKarteSeite( char *pfad )
- {
- if( run )
- warteAufThread( 5000 );
- if( run )
- ende();
- this->pfad = pfad;
- ak = 1;
- start();
- }
- void KESSVorschauKarteScript::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
- {
- KSGSVariable *befehl = parameter->z( 0 );
- if( !befehl )
- return;
- Text *b = befehl->getText();
- if( !b )
- return;
- if( b->istGleich( "GetBesitzStatus" ) )
- {
- int besitz = (int)besitztTestVersion;
- KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
- if( getKSGSVariable )
- {
- KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += besitz ).getText() };
- *retVal = getKSGSVariable( fenster, &def );
- }
- else
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
- "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- b->release();
- return;
- }
- if( b->istGleich( "GetPreis" ) )
- {
- KSGSVariable *version = parameter->z( 1 );
- if( !version )
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
- "Sie könnte eventuell nicht richtig funktionieren." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- else
- {
- bool testVersion = !version->getInt();
- int k = testVersion ? tvPreis : vvPreis;
- KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
- if( getKSGSVariable )
- {
- KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += k ).getText() };
- *retVal = getKSGSVariable( fenster, &def );
- }
- else
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
- "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- }
- b->release();
- return;
- }
- if( b->istGleich( "GetTestVersionVerbleibend" ) )
- {
- KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
- if( getKSGSVariable )
- {
- KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += verbleibend ).getText() };
- *retVal = getKSGSVariable( fenster, &def );
- }
- else
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
- "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- b->release();
- return;
- }
- if( b->istGleich( "GetErwerbbarStatus" ) )
- {
- int erwerbbar = ( (int)testversionErwerbbar & 0x1 ) | ( ( (int)vollversionErwerbbar << 1 ) & 0x2 );
- KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
- if( getKSGSVariable )
- {
- KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += erwerbbar ).getText() };
- *retVal = getKSGSVariable( fenster, &def );
- }
- else
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
- "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- b->release();
- return;
- }
- if( b->istGleich( "GetKupfer" ) )
- {
- KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
- if( getKSGSVariable )
- {
- KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += kupfer ).getText() };
- *retVal = getKSGSVariable( fenster, &def );
- }
- else
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
- "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- b->release();
- return;
- }
- if( b->istGleich( "Kaufen" ) )
- {
- KSGSVariable *version = parameter->z( 1 );
- if( !version )
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
- "Sie könnte eventuell nicht richtig funktionieren." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- b->release();
- return;
- }
- if( b->istGleich( "GetBild" ) )
- {
- KSGSVariable *pfad = parameter->z( 1 );
- KSGSVariable *name = parameter->z( 2 );
- if( !pfad || !name )
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
- "Sie könnte eventuell nicht richtig funktionieren." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- else
- {
- Text *pf = pfad->getText();
- Text *n = name->getText();
- if( !pf || !n )
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
- "Sie könnte eventuell nicht richtig funktionieren." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- else
- {
- KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
- if( getKSGSVariable )
- {
- int p = n->positionVon( ".ltdb/" );
- if( p < 0 )
- p = 0;
- else
- p += 6;
- Bild *b = bilder->get( *n );
- if( !b )
- {
- LTDBDatei *dat = new LTDBDatei();
- dat->setDatei( pf->getThis() );
- dat->leseDaten( 0 );
- b = dat->laden( 0, n->getTeilText( p, n->getLength() ) );
- dat->release();
- if( b )
- bilder->add( *n, b->getThis() );
- }
- if( b )
- {
- KSGSVariableDef def = { KSGS_BILD, 0, 3, "" };
- KSGSVariable *ret = getKSGSVariable( fenster, &def );
- KSGSSetBild setKSGSBild = (KSGSSetBild)GetProcAddress( ksgs, KSGS_SET_BILD_FUNKTION );
- if( !setKSGSBild )
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Der Einstiegspunkt '" KSGS_SET_BILD_FUNKTION "' in der DLL-Datei "
- "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- b->release();
- }
- else
- setKSGSBild( ret, b );
- *retVal = ret;
- }
- }
- else
- {
- nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
- new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
- "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
- new Text( "Ok" ), 0, NachrichtType::nachricht, 0 );
- }
- }
- if( pf )
- pf->release();
- if( n )
- n->release();
- }
- b->release();
- return;
- }
- }
- void KESSVorschauKarteScript::doMausEreignis( MausEreignis &me )
- {
- me.mx -= pos.x;
- me.my -= pos.y;
- if( fenster )
- fenster->doMausEreignis( me );
- me.mx += pos.x;
- me.my += pos.y;
- }
- void KESSVorschauKarteScript::doTastaturEreignis( TastaturEreignis &te )
- {
- if( fenster )
- fenster->doTastaturEreignis( te );
- }
- bool KESSVorschauKarteScript::tick( double zeit )
- {
- bool rend = fenster ? fenster->tick( zeit ) : 0;
- if( !sichtbar && alpha > 0 )
- {
- if( alpha - zeit * 150 < 0 )
- alpha = 0;
- else
- alpha -= (unsigned char)( zeit * 150 );
- rend = 1;
- }
- if( sichtbar && alpha < 255 )
- {
- if( alpha + zeit * 150 > 255 )
- alpha = 255;
- else
- alpha += (unsigned char)( zeit * 150 );
- rend = 1;
- }
- return rend;
- }
- void KESSVorschauKarteScript::render( Bild &zRObj )
- {
- if( !zRObj.setDrawOptions( pos.x, pos.y, ram->getBreite(), ram->getHeight() ) )
- return;
- zRObj.setAlpha( alpha );
- ram->render( zRObj );
- if( fenster )
- fenster->render( zRObj );
- zRObj.releaseAlpha();
- zRObj.releaseDrawOptions();
- }
- // Reference Counting
- KESSVorschauKarteScript *KESSVorschauKarteScript::getThis()
- {
- ref++;
- return this;
- }
- KESSVorschauKarteScript *KESSVorschauKarteScript::release()
- {
- ref--;
- if( !ref )
- delete this;
- return 0;
- }
- // Inhalt der KESSVorschauKarte Klasse aus KESSVorschau.h
- // Konstruktor
- KESSVorschauKarte::KESSVorschauKarte( Schrift *schrift )
- {
- auswählen = initKnopf( 173, 73, 22, 22, 0, 0, "" );
- auswählen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Rahmen | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
- auswählen->setHintergrundBildZ( bilder->get( "shop.ltdb/weiter.png" ) );
- initToolTip( auswählen, "Karte auswählen.", schrift, hauptScreen );
- auswählen->setLinienRahmenBreite( 1 );
- hintergrund = 0;
- ausgewählt = new AlphaFeld();
- ausgewählt->setPosition( 1, 1 );
- ausgewählt->setSize( 198, 98 );
- ausgewählt->setFarbe( 0x0000FF00 );
- ausgewählt->setStrength( 10 );
- ram = new LRahmen();
- ram->setPosition( 10, 10 );
- ram->setSize( 200, 100 );
- ram->setFarbe( 0xFFFFFFFF );
- ausw = 0;
- rend = 0;
- ref = 1;
- }
- // Destruktor
- KESSVorschauKarte::~KESSVorschauKarte()
- {
- auswählen->release();
- if( hintergrund )
- hintergrund->release();
- ausgewählt->release();
- ram->release();
- }
- // nicht constant
- void KESSVorschauKarte::ladeKarte( char *pfad )
- {
- LTDBDatei *datei = new LTDBDatei();
- Text *bdpf = new Text( pfad );
- bdpf->append( "/titelbg.ltdb" );
- datei->setDatei( bdpf );
- hintergrund = datei->laden( 0, new Text( "auswbg.jpg" ) );
- datei->release();
- }
- bool KESSVorschauKarte::doMausEreignis( MausEreignis &me )
- {
- bool vera = me.verarbeitet;
- auswählen->doMausEreignis( me );
- if( !vera && me.verarbeitet && me.id == ME_RLinks )
- {
- ausw = 1;
- return 1;
- }
- return 0;
- }
- bool KESSVorschauKarte::tick( double zeit )
- {
- rend |= ausgewählt->tick( zeit );
- rend |= auswählen->tick( zeit );
- int a = ( ausgewählt->getFarbe() >> 24 ) & 0xFF;
- if( ausw && a < 255 )
- {
- if( a + 150 * zeit > 255 )
- a = 255;
- else
- a += (int)( zeit * 150 );
- ausgewählt->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( ausgewählt->getFarbe() & 0xFFFFFF ) );
- rend = 1;
- }
- if( !ausw && a > 0 )
- {
- if( a - 150 * zeit < 0 )
- a = 0;
- else
- a += (int)( zeit * 150 );
- ausgewählt->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( ausgewählt->getFarbe() & 0xFFFFFF ) );
- rend = 1;
- }
- bool ret = rend;
- rend = 0;
- return ret;
- }
- void KESSVorschauKarte::render( Bild &zRObj )
- {
- ram->render( zRObj );
- if( !zRObj.setDrawOptions( ram->getX(), ram->getY(), 200, 100 ) )
- return;
- if( hintergrund )
- zRObj.drawBild( 1, 1, 198, 98, *hintergrund );
- ausgewählt->render( zRObj );
- auswählen->render( zRObj );
- zRObj.releaseDrawOptions();
- }
- // Reference Counting
- KESSVorschauKarte *KESSVorschauKarte::getThis()
- {
- ref++;
- return this;
- }
- KESSVorschauKarte *KESSVorschauKarte::release()
- {
- ref--;
- if( !ref )
- delete this;
- return 0;
- }
- // Inhalt der KESSVorschau Klasse aus KESSVorschau.h
- // Konstruktor
- KESSVorschau::KESSVorschau( Schrift *zSchrift )
- {
- schrift = zSchrift->getThis();
- log = initTextFeld( 10, 400, 860, 90, zSchrift, TextFeld::Style::TextGebiet & ~TextFeld::Style::Erlaubt, "Log:\n" );
- script = new KESSVorschauKarteScript( zSchrift, log );
- karte = new KESSVorschauKarte( zSchrift->getThis() );
- beenden = initKnopf( 10, 500, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Zurück" );
- besitztTestVersion = initAuswahlBox( 10, 120, 200, 20, zSchrift, ABSTYLE, { "Besitzt Testversion nicht", "Besitzt Testversion" } );
- spieleVerbleibend = initTextFeld( 110, 150, 100, 20, zSchrift, TextFeld::Style::TextFeld, "0" );
- spieleVerbleibend->setTastaturEreignis( _nurNummernTE );
- vvErwerbbar = initAuswahlBox( 10, 180, 200, 20, zSchrift, ABSTYLE, { "Vollversion erwerbbar", "Vollversion nicht erwerbbar" } );
- tvErwerbbar = initAuswahlBox( 10, 210, 200, 20, zSchrift, ABSTYLE, { "Testversion erwerbbar", "Testversion nicht erwerbbar" } );
- vvPreis = initTextFeld( 110, 240, 100, 20, zSchrift, TextFeld::Style::TextFeld, "0" );
- vvPreis->setTastaturEreignis( _nurNummernTE );
- tvPreis = initTextFeld( 110, 270, 100, 20, zSchrift, TextFeld::Style::TextFeld, "0" );
- tvPreis->setTastaturEreignis( _nurNummernTE );
- kupfer = initTextFeld( 110, 300, 100, 20, zSchrift, TextFeld::Style::TextFeld, "0" );
- pfad = "";
- alpha = 0;
- sichtbar = 0;
- tickVal = 0;
- aktion = 0;
- rend = 0;
- ref = 1;
- }
- // Destruktor
- KESSVorschau::~KESSVorschau()
- {
- schrift->release();
- script->release();
- karte->release();
- beenden->release();
- besitztTestVersion->release();
- spieleVerbleibend->release();
- vvErwerbbar->release();
- tvErwerbbar->release();
- vvPreis->release();
- tvPreis->release();
- kupfer->release();
- log->release();
- }
- // nicht constant
- int KESSVorschau::getAktion()
- {
- int ret = aktion;
- aktion = 0;
- return ret;
- }
- void KESSVorschau::ladeKarte( char *pfad )
- {
- karte->ladeKarte( pfad );
- this->pfad = pfad;
- }
- void KESSVorschau::setSichtbar( bool sicht )
- {
- sichtbar = sicht;
- }
- void KESSVorschau::doMausEreignis( MausEreignis &me )
- {
- if( !sichtbar )
- return;
- bool paramUpdate = 0;
- int ausw = vvErwerbbar->getAuswahl();
- vvErwerbbar->doMausEreignis( me );
- if( ausw != vvErwerbbar->getAuswahl() && me.id == ME_RLinks )
- {
- vvErwerbbar->einklappen();
- paramUpdate = 1;
- }
- ausw = tvErwerbbar->getAuswahl();
- tvErwerbbar->doMausEreignis( me );
- if( ausw != tvErwerbbar->getAuswahl() && me.id == ME_RLinks )
- {
- tvErwerbbar->einklappen();
- paramUpdate = 1;
- }
- ausw = besitztTestVersion->getAuswahl();
- besitztTestVersion->doMausEreignis( me );
- if( ausw != besitztTestVersion->getAuswahl() && me.id == ME_RLinks )
- {
- besitztTestVersion->einklappen();
- paramUpdate = 1;
- }
- script->doMausEreignis( me );
- if( karte->doMausEreignis( me ) )
- script->ladeKarteSeite( pfad );
- bool vera = me.verarbeitet;
- beenden->doMausEreignis( me );
- if( !vera && me.verarbeitet && me.id == ME_RLinks )
- aktion = 1;
- vvPreis->doMausEreignis( me );
- tvPreis->doMausEreignis( me );
- kupfer->doMausEreignis( me );
- spieleVerbleibend->doMausEreignis( me );
- log->doMausEreignis( me );
- if( paramUpdate )
- {
- script->setScriptParams( besitztTestVersion->getAuswahl() == 1, (int)*spieleVerbleibend->zText(), vvErwerbbar->getAuswahl() == 0,
- tvErwerbbar->getAuswahl() == 0, (int)*vvPreis->zText(), (int)*tvPreis->zText(), (int)*kupfer->zText() );
- }
- }
- void KESSVorschau::doTastaturEreignis( TastaturEreignis &te )
- {
- if( !sichtbar )
- return;
- if( !te.verarbeitet && te.id == TE_Release && te.taste == T_Enter )
- {
- if( spieleVerbleibend->hatStyle( TextFeld::Style::Fokus ) || vvPreis->hatStyle( TextFeld::Style::Fokus ) || tvPreis->hatStyle( TextFeld::Style::Fokus ) || kupfer->hatStyle( TextFeld::Style::Fokus ) )
- {
- script->setScriptParams( besitztTestVersion->getAuswahl() == 1, (int)*spieleVerbleibend->zText(), vvErwerbbar->getAuswahl() == 0,
- tvErwerbbar->getAuswahl() == 0, (int)*vvPreis->zText(), (int)*tvPreis->zText(), (int)*kupfer->zText() );
- }
- }
- script->doTastaturEreignis( te );
- spieleVerbleibend->doTastaturEreignis( te );
- vvPreis->doTastaturEreignis( te );
- tvPreis->doTastaturEreignis( te );
- kupfer->doTastaturEreignis( te );
- }
- bool KESSVorschau::tick( double zeit )
- {
- bool ret = script->tick( zeit );
- ret |= karte->tick( zeit );
- ret |= beenden->tick( zeit );
- ret |= spieleVerbleibend->tick( zeit );
- ret |= vvPreis->tick( zeit );
- ret |= tvPreis->tick( zeit );
- ret |= kupfer->tick( zeit );
- ret |= log->tick( zeit );
- ret |= tvErwerbbar->tick( zeit );
- ret |= vvErwerbbar->tick( zeit );
- ret |= besitztTestVersion->tick( zeit );
- tickVal += zeit * 150;
- int val = 0;
- if( tickVal > 1 )
- val = (int)tickVal;
- else
- return ret;
- if( sichtbar && alpha != 255 )
- {
- if( alpha + val > 255 )
- alpha = 255;
- else
- alpha += val;
- ret = 1;
- }
- if( !sichtbar && alpha != 0 )
- {
- if( alpha - val < 0 )
- alpha = 0;
- else
- alpha -= val;
- ret = 1;
- }
- return ret;
- }
- void KESSVorschau::render( Bild &zRObj )
- {
- zRObj.setAlpha( alpha );
- script->render( zRObj );
- karte->render( zRObj );
- beenden->render( zRObj );
- spieleVerbleibend->render( zRObj );
- log->render( zRObj );
- vvPreis->render( zRObj );
- tvPreis->render( zRObj );
- kupfer->render( zRObj );
- schrift->lock();
- schrift->setSchriftSize( 12 );
- Text txt = "Test Spiele:";
- schrift->setDrawPosition( 10, 154 );
- schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
- txt = "Voll Preis:";
- schrift->setDrawPosition( 10, 244 );
- schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
- txt = "Test Preis:";
- schrift->setDrawPosition( 10, 274 );
- schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
- txt = "Kupfer Besitz:";
- schrift->setDrawPosition( 10, 304 );
- schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
- txt = "Diese Werte sind nur zum\nTesten und haben keinerlei\nEinfluss auf den Shop.";
- schrift->setDrawPosition( 10, 334 );
- schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
- schrift->unlock();
- tvErwerbbar->render( zRObj );
- vvErwerbbar->render( zRObj );
- besitztTestVersion->render( zRObj );
- zRObj.releaseAlpha();
- }
- // constant
- bool KESSVorschau::istSichtbar() const
- {
- return sichtbar;
- }
- // Reference Counting
- KESSVorschau *KESSVorschau::getThis()
- {
- ref++;
- return this;
- }
- KESSVorschau *KESSVorschau::release()
- {
- ref--;
- if( !ref )
- delete this;
- return 0;
- }
|