#pragma once class PathMapEffect; class Entity; class SubEntity; class RenderStrategy { protected: PathMapEffect* pathMapEffect; public: CFirstPersonCamera camera; RenderStrategy(PathMapEffect* pathMapEffect); virtual void applyTargets() const; virtual void applyRenderState() const; virtual void applyTechnique() const; virtual void applyTransforms(Entity* entity) const; virtual void applyTextures(SubEntity* subEntity) const; virtual void resetRenderState() const; };