Schalter.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "Schalter.h"
  2. #include "Spiel.h"
  3. Schalter::Schalter( ResourceRegistry *zResources, int id, int x, int y, int width, int height, bool aktive )
  4. : GameObject( SCHALTER, x, y, width, height )
  5. {
  6. this->id = id;
  7. this->aktiv = aktive;
  8. aktivierungen = 0;
  9. texturScale = 1;
  10. textur = dynamic_cast<Bild *>( zResources->zResource( R_SCHALTER, 0 )->getImages()->getThis() );
  11. }
  12. void Schalter::setAktive( bool aktiv )
  13. {
  14. this->aktiv = aktiv;
  15. }
  16. void Schalter::press( Spiel *zSpiel )
  17. {
  18. zSpiel->setSchalterZuletztAktiviert( dynamic_cast<Schalter *>( getThis() ) );
  19. aktivierungen++;
  20. Ereignis *e = new Ereignis( SCHALTER_AKTIVIERT );
  21. e->addParameter( "Betroffener Schalter", dynamic_cast<Schalter *>( getThis() ) );
  22. zSpiel->throwEvent( e );
  23. }
  24. void Schalter::render( Bild &rObj )
  25. {
  26. if( !aktiv )
  27. rObj.setAlpha( 0x77 );
  28. GameObject::render( rObj );
  29. if( !aktiv )
  30. rObj.releaseAlpha();
  31. }
  32. int Schalter::getAnzahlAktivierungen() const
  33. {
  34. return aktivierungen;
  35. }
  36. bool Schalter::isAktive() const
  37. {
  38. return aktiv;
  39. }
  40. int Schalter::getId() const
  41. {
  42. return id;
  43. }