1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #include "RundenEnde.h"
- #include <Bild.h>
- #include <MausEreignis.h>
- #include <Rahmen.h>
- #include <Schrift.h>
- #include <Text.h>
- // Inhalt der RundenEnde Klasse aus RundenEnde.h
- // Konstruktor
- RundenEnde::RundenEnde( UIInit &uiFactory )
- : ReferenceCounter()
- {
- rahmen = new LRahmen();
- rahmen->setSize( 220, 70 );
- rahmen->setRamenBreite( 2 );
- rahmen->setFarbe( 0xFFFFFFFF );
- text = uiFactory.createTextFeld( uiFactory.initParam );
- text->setStyle( TextFeld::Style::Text | TextFeld::Style::Center );
- text->setText( "" );
- text->setSize( 220, 50 );
- warten = uiFactory.createTextFeld( uiFactory.initParam );
- warten->setStyle( TextFeld::Style::Text | TextFeld::Style::Center );
- warten->setText( "Nächste Runde startet in: 5" );
- warten->setSize( 220, 45 );
- sichtbar = 0;
- }
- // Destruktor
- RundenEnde::~RundenEnde()
- {
- rahmen->release();
- text->release();
- warten->release();
- }
- // nicht constant
- void RundenEnde::setSichtbar( bool b )
- {
- sichtbar = b;
- }
- void RundenEnde::setGewonnen( bool gewonnen )
- {
- if( gewonnen )
- {
- text->setText( "Du hast die Runde gewonnen." );
- text->setSchriftFarbe( 0xFF00FF00 );
- }
- else
- {
- text->setText( "Du hast die Runde verloren." );
- text->setSchriftFarbe( 0xFFFF0000 );
- }
- }
- void RundenEnde::setZeit( int sekunden )
- {
- warten->setText( "Nächste Runde startet in: " );
- warten->zText()->append( sekunden );
- }
- void RundenEnde::render( Bild &zRObj )
- {
- if( sichtbar )
- {
- rahmen->setPosition( zRObj.getBreite() / 2 - rahmen->getBreite() / 2, zRObj.getHeight() / 2 - rahmen->getHeight() / 2 );
- zRObj.alphaRegion( rahmen->getX(), rahmen->getY(), rahmen->getBreite(), rahmen->getHeight(), 0xA0000000 );
- rahmen->render( zRObj );
- text->setPosition( rahmen->getX(), rahmen->getY() );
- text->render( zRObj );
- warten->setPosition( rahmen->getX(), rahmen->getY() + 25 );
- warten->render( zRObj );
- }
- }
- // constant
- bool RundenEnde::istSichtbar() const
- {
- return sichtbar;
- }
|