#pragma once #include "Gegenstand.h" class Spieler; class Spiel; class Team; class Effect { protected: Spieler *zSpieler; float timeLeft; int ref; 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; Effect *getThis(); Effect *release(); };