Effect.h 866 B

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