aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/headers
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/headers')
-rw-r--r--src/main/headers/Scene.hpp13
-rw-r--r--src/main/headers/WorldScene.hpp4
2 files changed, 11 insertions, 6 deletions
diff --git a/src/main/headers/Scene.hpp b/src/main/headers/Scene.hpp
index 757202c..2183d63 100644
--- a/src/main/headers/Scene.hpp
+++ b/src/main/headers/Scene.hpp
@@ -6,21 +6,26 @@
class Scene
{
public:
- constexpr static float MAX_ZOOM = 10;
- constexpr static float MIN_ZOOM = .1;
+ enum Type
+ {
+ WORLD, MENU
+ };
+
+ const Type type;
+
+ Scene() = delete;
virtual void render() = 0;
virtual void resize(const sf::Event::SizeEvent &size) = 0;
virtual void click(const sf::Event::MouseButtonEvent &click) {}
virtual void keyPress(const sf::Event::KeyEvent &event) {}
- virtual void zoom(float factor) {}
protected:
float _zoom = 1;
sf::RenderWindow &_window;
- Scene(sf::RenderWindow &window) : _window(window) {}
+ Scene(sf::RenderWindow &window, Type _type) : type(_type), _window(window) {}
};
#endif
diff --git a/src/main/headers/WorldScene.hpp b/src/main/headers/WorldScene.hpp
index 09f3120..ec12930 100644
--- a/src/main/headers/WorldScene.hpp
+++ b/src/main/headers/WorldScene.hpp
@@ -10,8 +10,8 @@
class WorldScene : public Scene
{
public:
- constexpr static int ZOOM_MIN = 1;
- constexpr static int ZOOM_MAX = 100;
+ constexpr static float MAX_ZOOM = 10;
+ constexpr static float MIN_ZOOM = 1/2.0;
constexpr static int DEFAULT_TILE_SIZE_PX = 20;
WorldScene(sf::RenderWindow &window);