LebenRune.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. currentImage = 0;
  9. nextImage = 0.075;
  10. }
  11. LebenRuneEffect::~LebenRuneEffect()
  12. {
  13. zSpieler->setLebensRegeneration( zSpieler->getLebensRegenneration() - 10 );
  14. annimation->release();
  15. }
  16. bool LebenRuneEffect::tick( double time, Spiel *zSpiel )
  17. {
  18. nextImage -= time;
  19. if( nextImage <= 0 )
  20. {
  21. nextImage += 0.075;
  22. currentImage++;
  23. }
  24. return Effect::tick( time, zSpiel );
  25. }
  26. void LebenRuneEffect::renderSpieler( Bild &rObj )
  27. {
  28. if( currentImage >= annimation->getImageCount() )
  29. return;
  30. if( rObj.setDrawOptions( (int)zSpieler->getX(), (int)zSpieler->getY(), (int)zSpieler->getWidth(), (int)zSpieler->getHeight() ) )
  31. {
  32. rObj.alphaBildSkall( 0, 0, (int)zSpieler->getWidth(), (int)zSpieler->getHeight(), *annimation->zImage( currentImage ) );
  33. rObj.releaseDrawOptions();
  34. }
  35. }