LebenRune.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "LebenRune.h"
  2. #include "Spieler.h"
  3. LebenRuneEffect::LebenRuneEffect( ResourceRegistry *zResources, Spieler *zSpieler )
  4. : Effect( zSpieler, 75.f + ( 75.f / 100.f ) * zSpieler->getAbklingZeitVerringerung() )
  5. {
  6. zSpieler->setLebensRegeneration( zSpieler->getLebensRegenneration() + 10 );
  7. annimation = zResources->getResource( R_RLEBEN_EFFECT, 0 );
  8. effectImage = zResources->zResource( R_LEBEN, 0 )->getImage( 0 );
  9. currentImage = 0;
  10. nextImage = 0.075;
  11. }
  12. LebenRuneEffect::~LebenRuneEffect()
  13. {
  14. zSpieler->setLebensRegeneration( zSpieler->getLebensRegenneration() - 10 );
  15. annimation->release();
  16. }
  17. bool LebenRuneEffect::tick( double time, Spiel *zSpiel )
  18. {
  19. nextImage -= time;
  20. if( nextImage <= 0 )
  21. {
  22. nextImage += 0.075;
  23. currentImage++;
  24. }
  25. return Effect::tick( time, zSpiel );
  26. }
  27. void LebenRuneEffect::renderSpieler( Bild &rObj )
  28. {
  29. if( currentImage >= annimation->getImageCount() )
  30. return;
  31. if( rObj.setDrawOptions( (int)zSpieler->getX(), (int)zSpieler->getY(), (int)zSpieler->getWidth(), (int)zSpieler->getHeight() ) )
  32. {
  33. rObj.alphaBildSkall( 0, 0, (int)zSpieler->getWidth(), (int)zSpieler->getHeight(), *annimation->zImage( currentImage ) );
  34. rObj.releaseDrawOptions();
  35. }
  36. }