Effect.h 891 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "Gegenstand.h"
  3. class Spieler;
  4. class Spiel;
  5. class Team;
  6. class Effect
  7. {
  8. protected:
  9. Spieler *zSpieler;
  10. Bild *effectImage;
  11. float timeLeft;
  12. int ref;
  13. public:
  14. Effect( Spieler *zSpieler, float maxTime );
  15. virtual ~Effect();
  16. virtual bool tick( double time, Spiel *zSpiel );
  17. virtual bool istSpielerBeweglich( Richtung r ) const;
  18. virtual bool istSpielerVerwundbar( Richtung r ) const;
  19. virtual bool istSpielerSichtbar( Team *zTeam ) const;
  20. virtual bool istIntersectable() const;
  21. virtual void move( Richtung r, double time );
  22. virtual bool istGegenstandErlaubt( GegenstandTyp typ ) const;
  23. virtual void renderSpieler( Bild &rObj );
  24. virtual bool renderEffect( int x, int y, int width, int height, Bild &rObj, Schrift *zSchrift );
  25. virtual Resource *getCurrentResource();
  26. Effect *getThis();
  27. Effect *release();
  28. };