#pragma once #include "Gegenstand.h" class Spieler; class Spiel; class Team; class Effect : public virtual ReferenceCounter { protected: Spieler *zSpieler; Bild *effectImage; float timeLeft; public: Effect( Spieler *zSpieler, float maxTime ); virtual ~Effect(); virtual bool tick( double time, Spiel *zSpiel ); virtual bool istSpielerBeweglich( Richtung r ) const; virtual bool istSpielerVerwundbar( Richtung r ) const; virtual bool istSpielerSichtbar( Team *zTeam ) const; virtual bool istIntersectable() const; virtual void move( Richtung r, double time ); virtual bool istGegenstandErlaubt( GegenstandTyp typ ) const; virtual void renderSpieler( Bild &rObj ); virtual bool renderEffect( int x, int y, int width, int height, Bild &rObj, Schrift *zSchrift ); virtual Resource *getCurrentResource(); };