Game Project
Loading...
Searching...
No Matches
Scene.h
1#pragma once
2#include <SFML/System.hpp>
3#include <SFML/Graphics.hpp>
4#include "SceneTypes.h"
5class Scene
6{
7public:
8 Scene(const SceneData& data) : id_(data.id_), name_(data.display_name_), state_(data.state_) {}
9 virtual ~Scene() = default;
10
11 virtual void Enter() = 0;
12 virtual void Exit() = 0;
13 virtual void Pause() = 0;
14 virtual void Resume() = 0;
15
16 virtual void HandleInput(sf::RenderWindow& window) = 0;
17 virtual void Update(float delta_time) = 0;
18 virtual void Render(sf::RenderWindow& window) = 0;
19
20 const std::string& GetName() const { return name_; }
21 int GetID() const { return id_; }
22 GameState GetState() const { return state_; }
23private:
24 int id_;
25 std::string name_;
26 GameState state_;
27};
Definition SceneTypes.h:13