Effect.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include "Effect.h"
  2. Effect::Effect( Spieler *zSpieler, float maxTime )
  3. : ReferenceCounter()
  4. {
  5. this->zSpieler = zSpieler;
  6. timeLeft = maxTime;
  7. effectImage = 0;
  8. }
  9. Effect::~Effect()
  10. {
  11. if( effectImage )
  12. effectImage->release();
  13. }
  14. bool Effect::tick( double time, Spiel *zSpiel )
  15. {
  16. timeLeft -= (float)time;
  17. return timeLeft <= 0;
  18. }
  19. bool Effect::istSpielerBeweglich( Richtung r ) const
  20. {
  21. return 1;
  22. }
  23. bool Effect::istSpielerVerwundbar( Richtung r ) const
  24. {
  25. return 1;
  26. }
  27. bool Effect::istSpielerSichtbar( Team *zTeam ) const
  28. {
  29. return 1;
  30. }
  31. bool Effect::istIntersectable() const
  32. {
  33. return 1;
  34. }
  35. void Effect::move( Richtung r, double time )
  36. {}
  37. bool Effect::istGegenstandErlaubt( GegenstandTyp typ ) const
  38. {
  39. return 1;
  40. }
  41. void Effect::renderSpieler( Bild &rObj )
  42. {}
  43. bool Effect::renderEffect( int x, int y, int width, int height, Bild &rObj, Schrift *zSchrift )
  44. {
  45. if( !effectImage )
  46. return 0;
  47. rObj.alphaBildSkall( x, y, width, height, *effectImage );
  48. TextRenderer tr;
  49. tr.setSchriftZ( dynamic_cast<Schrift *>( zSchrift->getThis() ) );
  50. tr.setSchriftSize( 12 );
  51. tr.renderText( x + 5, y + 5, Text( (int)( timeLeft * 100 ) / 100.0 ), rObj, 0xFFFFFFFF );
  52. return 1;
  53. }
  54. Resource *Effect::getCurrentResource()
  55. {
  56. return 0;
  57. }