#pragma once #include class Entity; class EffectFactory; class Effect : public virtual Framework::ReferenceCounter { private: Framework::Text name; float duration; Effect(Entity* zTarget); public: ~Effect(); virtual void tick(); Framework::Text getName() const; float getDuration() const; friend EffectFactory; };