|
@@ -15,16 +15,16 @@
|
|
|
|
|
|
// Inhalt der MenüVerloren Klasse aus Menü.h
|
|
|
// Kontruktor
|
|
|
-MenüVerloren::MenüVerloren( Schrift *zSchrift )
|
|
|
+MenüVerloren::MenüVerloren( UIInit &uiFactory )
|
|
|
+ : ReferenceCounter()
|
|
|
{
|
|
|
ram = new LRahmen();
|
|
|
ram->setSize( 160, 100 );
|
|
|
ram->setPosition( 320, 200 );
|
|
|
ram->setFarbe( 0xFFFFFFFF );
|
|
|
- verloren = initTextFeld( 325, 210, 150, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "Du hast verloren." );
|
|
|
- neu = initKnopf( 350, 240, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "Neues Spiel" );
|
|
|
- beenden = initKnopf( 350, 270, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "Zurück" );
|
|
|
- ref = 1;
|
|
|
+ verloren = initTextFeld( 325, 210, 150, 20, uiFactory, TextFeld::Style::Text | TextFeld::Style::Center, "Du hast verloren." );
|
|
|
+ neu = initKnopf( 350, 240, 100, 20, uiFactory, TextFeld::Style::Text | TextFeld::Style::Center, "Neues Spiel" );
|
|
|
+ beenden = initKnopf( 350, 270, 100, 20, uiFactory, TextFeld::Style::Text | TextFeld::Style::Center, "Zurück" );
|
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
@@ -67,33 +67,18 @@ void Men
|
|
|
ram->render( zRObj );
|
|
|
}
|
|
|
|
|
|
-// Reference Counting
|
|
|
-MenüVerloren *MenüVerloren::getThis()
|
|
|
-{
|
|
|
- ref++;
|
|
|
- return this;
|
|
|
-}
|
|
|
-
|
|
|
-MenüVerloren *MenüVerloren::release()
|
|
|
-{
|
|
|
- ref--;
|
|
|
- if( !ref )
|
|
|
- delete this;
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
|
|
|
// Inhalt der MenüSpiel Klasse aus Menü.h
|
|
|
// Konstruktor
|
|
|
-MenüSpiel::MenüSpiel( Schrift *zSchrift, Bildschirm *zScreen, KSGClient::MinigameServerClient *klient )
|
|
|
+MenüSpiel::MenüSpiel( UIInit &uiFactory, KSGClient::MinigameServerClient *klient )
|
|
|
+ : ReferenceCounter()
|
|
|
{
|
|
|
- scoreT = initTextFeld( 690, 10, 100, 20, zSchrift, TextFeld::Style::Text, "Score: 0" );
|
|
|
- beenden = initKnopf( 690, 40, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Beenden" );
|
|
|
+ scoreT = initTextFeld( 690, 10, 100, 20, uiFactory, TextFeld::Style::Text, "Score: 0" );
|
|
|
+ beenden = initKnopf( 690, 40, 100, 20, uiFactory, Knopf::Style::Sichtbar, "Beenden" );
|
|
|
map = new Map( klient );
|
|
|
- verloren = new MenüVerloren( zSchrift );
|
|
|
+ verloren = new MenüVerloren( uiFactory );
|
|
|
timePuffer = 0;
|
|
|
beendet = 0;
|
|
|
- ref = 1;
|
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
@@ -228,33 +213,19 @@ bool Men
|
|
|
return beendet;
|
|
|
}
|
|
|
|
|
|
-// Reference Counting
|
|
|
-MenüSpiel *MenüSpiel::getThis()
|
|
|
-{
|
|
|
- ref++;
|
|
|
- return this;
|
|
|
-}
|
|
|
-
|
|
|
-MenüSpiel *MenüSpiel::release()
|
|
|
-{
|
|
|
- ref--;
|
|
|
- if( !ref )
|
|
|
- delete this;
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
|
|
|
// Inhalt der MenüWiederhohlung Klasse
|
|
|
// Konstruktor
|
|
|
-MenüWiederhohlung::MenüWiederhohlung( Schrift *zSchrift, Bildschirm *zScreen, Datei *datei, Text *zOptionen )
|
|
|
+MenüWiederhohlung::MenüWiederhohlung( UIInit &uiFactory, Datei *datei, Text *zOptionen )
|
|
|
+ : ReferenceCounter()
|
|
|
{
|
|
|
- scoreT = initTextFeld( 690, 10, 100, 20, zSchrift, TextFeld::Style::Text, "Score: 0" );
|
|
|
- beenden = initKnopf( 690, 40, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Beenden" );
|
|
|
+ scoreT = initTextFeld( 690, 10, 100, 20, uiFactory, TextFeld::Style::Text, "Score: 0" );
|
|
|
+ beenden = initKnopf( 690, 40, 100, 20, uiFactory, Knopf::Style::Sichtbar, "Beenden" );
|
|
|
this->datei = datei;
|
|
|
if( !datei->istOffen() )
|
|
|
datei->open( Datei::Style::lesen );
|
|
|
__int64 seed;
|
|
|
- datei->lese( (char*)&seed, 8 );
|
|
|
+ datei->lese( (char *)&seed, 8 );
|
|
|
zOptionen->append( ",Fortsetzen=0,Seed=" );
|
|
|
zOptionen->append( seed );
|
|
|
map = new Map( 0 );
|
|
@@ -262,9 +233,8 @@ Men
|
|
|
beendet = 0;
|
|
|
nowTime = 0;
|
|
|
nextTime = 0;
|
|
|
- datei->lese( (char*)&nextTime, 8 );
|
|
|
+ datei->lese( (char *)&nextTime, 8 );
|
|
|
timePuffer = 0;
|
|
|
- ref = 1;
|
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
@@ -309,14 +279,14 @@ bool Men
|
|
|
me.id = ME_RRechts;
|
|
|
if( ak == 0 )
|
|
|
{
|
|
|
- datei->lese( (char*)&me.mx, 4 );
|
|
|
- datei->lese( (char*)&me.my, 4 );
|
|
|
+ datei->lese( (char *)&me.mx, 4 );
|
|
|
+ datei->lese( (char *)&me.my, 4 );
|
|
|
me.id = ME_RLinks;
|
|
|
}
|
|
|
if( datei->istEnde() )
|
|
|
nextTime = -1;
|
|
|
else
|
|
|
- datei->lese( (char*)&nextTime, 8 );
|
|
|
+ datei->lese( (char *)&nextTime, 8 );
|
|
|
me.verarbeitet = 0;
|
|
|
map->doPublicMausEreignis( me );
|
|
|
}
|
|
@@ -345,40 +315,26 @@ bool Men
|
|
|
return beendet;
|
|
|
}
|
|
|
|
|
|
-// Reference Counting
|
|
|
-MenüWiederhohlung *MenüWiederhohlung::getThis()
|
|
|
-{
|
|
|
- ref++;
|
|
|
- return this;
|
|
|
-}
|
|
|
-
|
|
|
-MenüWiederhohlung *MenüWiederhohlung::release()
|
|
|
-{
|
|
|
- if( !--ref )
|
|
|
- delete this;
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
// Inhalt der MenüStatistik Klasse aus Menü.h
|
|
|
// Konstruktor
|
|
|
-MenüStatistik::MenüStatistik( Schrift *zSchrift, Bildschirm *zScreen, KSGClient::MinigameServerClient *klient )
|
|
|
+MenüStatistik::MenüStatistik( UIInit &uiFactory, KSGClient::MinigameServerClient *klient )
|
|
|
+ : ReferenceCounter()
|
|
|
{
|
|
|
this->klient = klient;
|
|
|
wiederH = 0;
|
|
|
- ansichtT = initTextFeld( 245, 10, 50, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Ansicht:" );
|
|
|
- ansicht = initAuswahlBox( 295, 10, 120, 20, zSchrift, AuswahlBox::Style::Normal | AuswahlBox::Style::Hintergrund, { "Tabelle", "Diagramm" } );
|
|
|
- optionen = initKontrollKnopf( 425, 10, 130, 20, zSchrift, KontrollKnopf::Style::Normal, "Optionen beachten" );
|
|
|
- worldBestT = initObjTabelle( 150, 40, 500, 120, zSchrift, ObjTabelle::Style::normal | ObjTabelle::Style::VScroll, { { "Score", 60, 0, 0 }, { "Spieler", 100, 0, 0 }, { "Ansehen", 55, 0, 0 }, { "Breite", 70, 0, 0 },{ "Height", 70, 0, 0 },{ "Farben", 65, 0, 0 },{ "Tempo", 60, 0, 0 } }, 20 );
|
|
|
- gesammtT = initObjTabelle( 150, 170, 500, 290, zSchrift, ObjTabelle::Style::normal | ObjTabelle::Style::VScroll, { { "Score", 70, 0, 0 }, { "Datum", 145, 0, 0 }, { "Breite", 70, 0, 0 }, { "Height", 70, 0, 0 }, { "Farben", 65, 0, 0 }, { "Tempo", 60, 0, 0 } }, 20 );
|
|
|
- optionenT = initObjTabelle( 150, 170, 500, 290, zSchrift, ObjTabelle::Style::normal | ObjTabelle::Style::VScroll, { { "Score", 70, 0, 0 }, { "Datum", 145, 0, 0 }, { "Breite", 70, 0, 0 }, { "Height", 70, 0, 0 }, { "Farben", 65, 0, 0 }, { "Tempo", 60, 0, 0 } }, 20 );
|
|
|
- gesammtD = initLinienDiagramm( 100, 170, 600, 290, zSchrift, LDiag::Style::DatenRahmen, 0 );
|
|
|
- optionenD = initLinienDiagramm( 100, 170, 600, 290, zSchrift, LDiag::Style::DatenRahmen, 0 );
|
|
|
- removen = initKnopf( 10, 470, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Zurücksetzen" );
|
|
|
- zurück = initKnopf( 350, 470, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Zurück" );
|
|
|
- schrift = zSchrift->getThis();
|
|
|
- tr = new TextRenderer( schrift->getThis() );
|
|
|
- screen = zScreen->getThis();
|
|
|
+ ansichtT = initTextFeld( 245, 10, 50, 20, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, "Ansicht:" );
|
|
|
+ ansicht = initAuswahlBox( 295, 10, 120, 20, uiFactory, AuswahlBox::Style::Normal | AuswahlBox::Style::Hintergrund, { "Tabelle", "Diagramm" } );
|
|
|
+ optionen = initKontrollKnopf( 425, 10, 130, 20, uiFactory, KontrollKnopf::Style::Normal, "Optionen beachten" );
|
|
|
+ worldBestT = initObjTabelle( 150, 40, 500, 120, uiFactory, ObjTabelle::Style::normal | ObjTabelle::Style::VScroll, { { "Score", 60, 0, 0 }, { "Spieler", 100, 0, 0 }, { "Ansehen", 55, 0, 0 }, { "Breite", 70, 0, 0 },{ "Height", 70, 0, 0 },{ "Farben", 65, 0, 0 },{ "Tempo", 60, 0, 0 } }, 20 );
|
|
|
+ gesammtT = initObjTabelle( 150, 170, 500, 290, uiFactory, ObjTabelle::Style::normal | ObjTabelle::Style::VScroll, { { "Score", 70, 0, 0 }, { "Datum", 145, 0, 0 }, { "Breite", 70, 0, 0 }, { "Height", 70, 0, 0 }, { "Farben", 65, 0, 0 }, { "Tempo", 60, 0, 0 } }, 20 );
|
|
|
+ optionenT = initObjTabelle( 150, 170, 500, 290, uiFactory, ObjTabelle::Style::normal | ObjTabelle::Style::VScroll, { { "Score", 70, 0, 0 }, { "Datum", 145, 0, 0 }, { "Breite", 70, 0, 0 }, { "Height", 70, 0, 0 }, { "Farben", 65, 0, 0 }, { "Tempo", 60, 0, 0 } }, 20 );
|
|
|
+ gesammtD = initLinienDiagramm( 100, 170, 600, 290, uiFactory, LDiag::Style::DatenRahmen, 0 );
|
|
|
+ optionenD = initLinienDiagramm( 100, 170, 600, 290, uiFactory, LDiag::Style::DatenRahmen, 0 );
|
|
|
+ removen = initKnopf( 10, 470, 100, 20, uiFactory, Knopf::Style::Sichtbar, "Zurücksetzen" );
|
|
|
+ zurück = initKnopf( 350, 470, 100, 20, uiFactory, Knopf::Style::Sichtbar, "Zurück" );
|
|
|
+ tr = new TextRenderer( dynamic_cast<Schrift *>( uiFactory.initParam.schrift->getThis() ) );
|
|
|
asyncFinished = 1;
|
|
|
+ this->uiFactory = uiFactory;
|
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
@@ -399,21 +355,18 @@ Men
|
|
|
optionenD->release();
|
|
|
removen->release();
|
|
|
zurück->release();
|
|
|
- schrift->release();
|
|
|
klient->release();
|
|
|
if( wiederH )
|
|
|
wiederH->release();
|
|
|
- screen->release();
|
|
|
}
|
|
|
|
|
|
// nicht constant
|
|
|
void MenüStatistik::reset()
|
|
|
{
|
|
|
- ObjTabelle *tmpWBT = (ObjTabelle*)worldBestT->getThis();
|
|
|
- KSGClient::MinigameServerClient *tmpKlient = klient->getThis();
|
|
|
- Schrift *tmpSchrift = schrift->getThis();
|
|
|
+ ObjTabelle *tmpWBT = dynamic_cast<ObjTabelle *>( worldBestT->getThis() );
|
|
|
+ KSGClient::MinigameServerClient *tmpKlient = dynamic_cast<KSGClient::MinigameServerClient *>( klient->getThis() );
|
|
|
asyncFinished = 0;
|
|
|
- new AsynchronCall( [ this, tmpWBT, tmpKlient, tmpSchrift ]()
|
|
|
+ new AsynchronCall( [this, tmpWBT, tmpKlient]()
|
|
|
{
|
|
|
Array< int > score;
|
|
|
RCArray< Text > player;
|
|
@@ -421,36 +374,36 @@ void Men
|
|
|
int anz = tmpKlient->getMinigameBestscoreList( "Bloecke", &score, &player, &option );
|
|
|
for( int i = 0; i < anz; i++ )
|
|
|
{
|
|
|
- TextFeld *scoreT = initTextFeld( 0, 0, 0, 0, tmpSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, Text( score.get( i ) ) );
|
|
|
- TextFeld *spielerT = initTextFeld( 0, 0, 0, 0, tmpSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, player.z( i )->getText() );
|
|
|
+ TextFeld *scoreT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, Text( score.get( i ) ) );
|
|
|
+ TextFeld *spielerT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, player.z( i )->getText() );
|
|
|
Text optionen = option.z( i )->getText();
|
|
|
Text *breite = optionen.getTeilText( optionen.positionVon( '=' ) + 1, optionen.positionVon( ',' ) );
|
|
|
Text *höhe = optionen.getTeilText( optionen.positionVon( '=', 1 ) + 1, optionen.positionVon( ',', 1 ) );
|
|
|
Text *farben = optionen.getTeilText( optionen.positionVon( '=', 2 ) + 1, optionen.positionVon( ',', 2 ) );
|
|
|
Text *geschwindigkeit = optionen.getTeilText( optionen.positionVon( '=', 3 ) + 1 );
|
|
|
- TextFeld *breiteT = initTextFeld( 0, 0, 0, 0, tmpSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, breite->getText() );
|
|
|
+ TextFeld *breiteT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, breite->getText() );
|
|
|
breite->release();
|
|
|
- TextFeld *höheT = initTextFeld( 0, 0, 0, 0, tmpSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, höhe->getText() );
|
|
|
+ TextFeld *höheT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, höhe->getText() );
|
|
|
höhe->release();
|
|
|
- TextFeld *farbenT = initTextFeld( 0, 0, 0, 0, tmpSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, farben->getText() );
|
|
|
+ TextFeld *farbenT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, farben->getText() );
|
|
|
farben->release();
|
|
|
- TextFeld *geschwindigkeitT = initTextFeld( 0, 0, 0, 0, tmpSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, geschwindigkeit->getText() );
|
|
|
+ TextFeld *geschwindigkeitT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, geschwindigkeit->getText() );
|
|
|
geschwindigkeit->release();
|
|
|
- Knopf *ansehenK = initKnopf( 0, 0, 0, 0, tmpSchrift, Knopf::Style::Normal, "Ansehen" );
|
|
|
- ansehenK->setMausEreignis( [ this, optionen ]( void *p, void *obj, MausEreignis me ) -> bool
|
|
|
+ Knopf *ansehenK = initKnopf( 0, 0, 0, 0, uiFactory, Knopf::Style::Normal, "Ansehen" );
|
|
|
+ ansehenK->setMausEreignis( [this, optionen]( void *p, void *obj, MausEreignis me ) -> bool
|
|
|
{
|
|
|
if( me.id == ME_RLinks && !me.verarbeitet )
|
|
|
{
|
|
|
- ( (Knopf*)obj )->removeStyle( Knopf::Style::Erlaubt );
|
|
|
+ ( (Knopf *)obj )->removeStyle( Knopf::Style::Erlaubt );
|
|
|
getThis();
|
|
|
- new AsynchronCall( [ this, optionen, obj ]()
|
|
|
+ new AsynchronCall( [this, optionen, obj]()
|
|
|
{
|
|
|
Datei *d = klient->downloadGameCapture( "Bloecke", optionen );
|
|
|
- ( (Knopf*)obj )->addStyle( Knopf::Style::Erlaubt );
|
|
|
+ ( (Knopf *)obj )->addStyle( Knopf::Style::Erlaubt );
|
|
|
if( wiederH )
|
|
|
- wiederH = wiederH->release();
|
|
|
+ wiederH = (MenüWiederhohlung *)wiederH->release();
|
|
|
Text options = optionen.getText();
|
|
|
- wiederH = new MenüWiederhohlung( schrift, screen, d, &options );
|
|
|
+ wiederH = new MenüWiederhohlung( uiFactory, d, &options );
|
|
|
release();
|
|
|
} );
|
|
|
}
|
|
@@ -467,7 +420,6 @@ void Men
|
|
|
}
|
|
|
tmpKlient->release();
|
|
|
tmpWBT->release();
|
|
|
- tmpSchrift->release();
|
|
|
}, &asyncFinished );
|
|
|
InitDatei *opd = new InitDatei( "data/Minigames/Blöcke/data/optionen.ini" );
|
|
|
opd->laden();
|
|
@@ -505,12 +457,12 @@ void Men
|
|
|
if( p >= 0 )
|
|
|
{
|
|
|
fertig[ p ] = 1;
|
|
|
- TextFeld *scoreT = initTextFeld( 0, 0, 0, 0, schrift, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 1 )->getText() );
|
|
|
- TextFeld *datumT = initTextFeld( 0, 0, 0, 0, schrift, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 0 )->getText() );
|
|
|
- TextFeld *breiteT = initTextFeld( 0, 0, 0, 0, schrift, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 2 )->getText() );
|
|
|
- TextFeld *höheT = initTextFeld( 0, 0, 0, 0, schrift, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 3 )->getText() );
|
|
|
- TextFeld *farbenT = initTextFeld( 0, 0, 0, 0, schrift, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 5 )->getText() );
|
|
|
- TextFeld *tempoT = initTextFeld( 0, 0, 0, 0, schrift, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 4 )->getText() );
|
|
|
+ TextFeld *scoreT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 1 )->getText() );
|
|
|
+ TextFeld *datumT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 0 )->getText() );
|
|
|
+ TextFeld *breiteT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 2 )->getText() );
|
|
|
+ TextFeld *höheT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 3 )->getText() );
|
|
|
+ TextFeld *farbenT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 5 )->getText() );
|
|
|
+ TextFeld *tempoT = initTextFeld( 0, 0, 0, 0, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, stb->zFeld( p, 4 )->getText() );
|
|
|
gesammtT->addZeile( Text() += p );
|
|
|
gesammtT->setZeichnungZ( 0, i + 1, scoreT );
|
|
|
gesammtT->setZeichnungZ( 1, i + 1, datumT );
|
|
@@ -525,12 +477,12 @@ void Men
|
|
|
{
|
|
|
optionenT->addZeile( Text() += p );
|
|
|
int n = optionenT->getZeilenNummer( Text() += p );
|
|
|
- optionenT->setZeichnungZ( 0, n, scoreT->getThis() );
|
|
|
- optionenT->setZeichnungZ( 1, n, datumT->getThis() );
|
|
|
- optionenT->setZeichnungZ( 2, n, breiteT->getThis() );
|
|
|
- optionenT->setZeichnungZ( 3, n, höheT->getThis() );
|
|
|
- optionenT->setZeichnungZ( 4, n, farbenT->getThis() );
|
|
|
- optionenT->setZeichnungZ( 5, n, tempoT->getThis() );
|
|
|
+ optionenT->setZeichnungZ( 0, n, dynamic_cast<Zeichnung *>( scoreT->getThis() ) );
|
|
|
+ optionenT->setZeichnungZ( 1, n, dynamic_cast<Zeichnung *>( datumT->getThis() ) );
|
|
|
+ optionenT->setZeichnungZ( 2, n, dynamic_cast<Zeichnung *>( breiteT->getThis() ) );
|
|
|
+ optionenT->setZeichnungZ( 3, n, dynamic_cast<Zeichnung *>( höheT->getThis() ) );
|
|
|
+ optionenT->setZeichnungZ( 4, n, dynamic_cast<Zeichnung *>( farbenT->getThis() ) );
|
|
|
+ optionenT->setZeichnungZ( 5, n, dynamic_cast<Zeichnung *>( tempoT->getThis() ) );
|
|
|
if( !omS )
|
|
|
omS = maxScore;
|
|
|
oAnz++;
|
|
@@ -649,7 +601,7 @@ bool Men
|
|
|
{
|
|
|
bool ret = wiederH->tick( tickVal );
|
|
|
if( wiederH->istBeendet() )
|
|
|
- wiederH = wiederH->release();
|
|
|
+ wiederH = (MenüWiederhohlung *)wiederH->release();
|
|
|
return ret;
|
|
|
}
|
|
|
bool ret = ansicht->tick( tickVal );
|
|
@@ -709,44 +661,29 @@ bool Men
|
|
|
return wiederH != 0;
|
|
|
}
|
|
|
|
|
|
-// Reference Counting
|
|
|
-MenüStatistik *MenüStatistik::getThis()
|
|
|
-{
|
|
|
- ref++;
|
|
|
- return this;
|
|
|
-}
|
|
|
-
|
|
|
-MenüStatistik *MenüStatistik::release()
|
|
|
-{
|
|
|
- ref--;
|
|
|
- if( !ref )
|
|
|
- delete this;
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
|
|
|
// Inhalt der MenüOptionen aus Menü.h
|
|
|
// Konstruktor
|
|
|
-MenüOptionen::MenüOptionen( Schrift *zSchrift, Bildschirm *zScreen )
|
|
|
+MenüOptionen::MenüOptionen( UIInit &uiFactory )
|
|
|
+ : ReferenceCounter()
|
|
|
{
|
|
|
- breiteT = initTextFeld( 310, 140, 130, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Spielfeld Breite:" );
|
|
|
- breite = initTextFeld( 440, 140, 50, 20, zSchrift, TextFeld::Style::TextFeld, "" );
|
|
|
+ breiteT = initTextFeld( 310, 140, 130, 20, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, "Spielfeld Breite:" );
|
|
|
+ breite = initTextFeld( 440, 140, 50, 20, uiFactory, TextFeld::Style::TextFeld, "" );
|
|
|
breite->setTastaturEreignis( _nurNummernTE );
|
|
|
- höheT = initTextFeld( 310, 180, 130, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Spielfeld Height:" );
|
|
|
- höhe = initTextFeld( 440, 180, 50, 20, zSchrift, TextFeld::Style::TextFeld, "" );
|
|
|
+ höheT = initTextFeld( 310, 180, 130, 20, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, "Spielfeld Height:" );
|
|
|
+ höhe = initTextFeld( 440, 180, 50, 20, uiFactory, TextFeld::Style::TextFeld, "" );
|
|
|
höhe->setTastaturEreignis( _nurNummernTE );
|
|
|
- bAnzahlT = initTextFeld( 310, 220, 130, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Verschiedene Farben:" );
|
|
|
- bAnzahl = initTextFeld( 440, 220, 50, 20, zSchrift, TextFeld::Style::TextFeld, "" );
|
|
|
+ bAnzahlT = initTextFeld( 310, 220, 130, 20, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, "Verschiedene Farben:" );
|
|
|
+ bAnzahl = initTextFeld( 440, 220, 50, 20, uiFactory, TextFeld::Style::TextFeld, "" );
|
|
|
bAnzahl->setTastaturEreignis( _nurNummernTE );
|
|
|
- tempoT = initTextFeld( 310, 260, 130, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Zeit Abstände:" );
|
|
|
- tempo = initTextFeld( 440, 260, 50, 20, zSchrift, TextFeld::Style::TextFeld, "" );
|
|
|
+ tempoT = initTextFeld( 310, 260, 130, 20, uiFactory, TextFeld::Style::Text | TextFeld::Style::VCenter, "Zeit Abstände:" );
|
|
|
+ tempo = initTextFeld( 440, 260, 50, 20, uiFactory, TextFeld::Style::TextFeld, "" );
|
|
|
tempo->setTastaturEreignis( _nurNummernTE );
|
|
|
- fortsetzen = initKontrollKnopf( 310, 300, 180, 20, zSchrift, KontrollKnopf::Style::Normal, "Letztes Spiel fortsetzen" );
|
|
|
+ fortsetzen = initKontrollKnopf( 310, 300, 180, 20, uiFactory, KontrollKnopf::Style::Normal, "Letztes Spiel fortsetzen" );
|
|
|
fortsetzen->setMausEreignis( _ret1ME );
|
|
|
- abbrechen = initKnopf( 310, 340, 85, 20, zSchrift, Knopf::Style::Sichtbar, "Abbrechen" );
|
|
|
- ok = initKnopf( 405, 340, 85, 20, zSchrift, Knopf::Style::Sichtbar, "Ok" );
|
|
|
+ abbrechen = initKnopf( 310, 340, 85, 20, uiFactory, Knopf::Style::Sichtbar, "Abbrechen" );
|
|
|
+ ok = initKnopf( 405, 340, 85, 20, uiFactory, Knopf::Style::Sichtbar, "Ok" );
|
|
|
beendet = 0;
|
|
|
- ref = 1;
|
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
@@ -900,33 +837,19 @@ bool Men
|
|
|
return beendet;
|
|
|
}
|
|
|
|
|
|
-// Reference Counting
|
|
|
-MenüOptionen *MenüOptionen::getThis()
|
|
|
-{
|
|
|
- ref++;
|
|
|
- return this;
|
|
|
-}
|
|
|
-
|
|
|
-MenüOptionen *MenüOptionen::release()
|
|
|
-{
|
|
|
- ref--;
|
|
|
- if( !ref )
|
|
|
- delete this;
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
|
|
|
// Inhalt der Menü Klasse aus Menü.h
|
|
|
// Konstruktor
|
|
|
-Menü::Menü( Schrift *zSchrift, Bildschirm *zScreen, KSGClient::MinigameServerClient *klient )
|
|
|
-{
|
|
|
- spielen = initKnopf( 350, 180, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Spielen" );
|
|
|
- spielenF = new MenüSpiel( zSchrift, zScreen, klient->getThis() );
|
|
|
- optionen = initKnopf( 350, 220, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Optionen" );
|
|
|
- optionenF = new MenüOptionen( zSchrift, zScreen );
|
|
|
- statistik = initKnopf( 350, 260, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Statistik" );
|
|
|
- statistikF = new MenüStatistik( zSchrift, zScreen, klient );
|
|
|
- beenden = initKnopf( 350, 300, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Beenden" );
|
|
|
+Menü::Menü( UIInit &uiFactory, KSGClient::MinigameServerClient *klient )
|
|
|
+ : ReferenceCounter()
|
|
|
+{
|
|
|
+ spielen = initKnopf( 350, 180, 100, 20, uiFactory, Knopf::Style::Sichtbar, "Spielen" );
|
|
|
+ spielenF = new MenüSpiel( uiFactory, dynamic_cast<KSGClient::MinigameServerClient *>( klient->getThis() ) );
|
|
|
+ optionen = initKnopf( 350, 220, 100, 20, uiFactory, Knopf::Style::Sichtbar, "Optionen" );
|
|
|
+ optionenF = new MenüOptionen( uiFactory );
|
|
|
+ statistik = initKnopf( 350, 260, 100, 20, uiFactory, Knopf::Style::Sichtbar, "Statistik" );
|
|
|
+ statistikF = new MenüStatistik( uiFactory, klient );
|
|
|
+ beenden = initKnopf( 350, 300, 100, 20, uiFactory, Knopf::Style::Sichtbar, "Beenden" );
|
|
|
ram = new LRahmen();
|
|
|
ram->setFarbe( 0xFFFFFFFF );
|
|
|
beendet = 0;
|
|
@@ -936,7 +859,6 @@ Men
|
|
|
bgd->leseDaten( 0 );
|
|
|
hintergrund = bgd->laden( 0, new Text( "bg.jpg" ) );
|
|
|
bgd->release();
|
|
|
- ref = 1;
|
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
@@ -1089,19 +1011,4 @@ void Men
|
|
|
bool Menü::istBeendet() const
|
|
|
{
|
|
|
return beendet;
|
|
|
-}
|
|
|
-
|
|
|
-// Reference Counting
|
|
|
-Menü *Menü::getThis()
|
|
|
-{
|
|
|
- ref++;
|
|
|
- return this;
|
|
|
-}
|
|
|
-
|
|
|
-Menü *Menü::release()
|
|
|
-{
|
|
|
- ref--;
|
|
|
- if( !ref )
|
|
|
- delete this;
|
|
|
- return 0;
|
|
|
}
|