cs381/as6/scene/Scene.hpp

21 lines
377 B
C++

#pragma once
class SceneManager;
/**
* Base state interface for scene manager states.
*/
class Scene {
public:
explicit Scene(SceneManager &owner) : manager(owner) {}
virtual ~Scene() = default;
virtual void Enter() {}
virtual void Exit() {}
virtual void Update(float dt) = 0;
virtual void Draw() = 0;
protected:
SceneManager &manager;
};