Pacman Torben Petré
Loading...
Searching...
No Matches
WorldView.h
Go to the documentation of this file.
1#ifndef PACMAN_WORLDVIEW_H
2#define PACMAN_WORLDVIEW_H
3
4#include <SFML/Graphics.hpp>
5
6#include "../../Logic/Score.h"
7#include "../../Logic/World.h"
8
9
10struct ScorePopup {
11 sf::Sprite sprite;
12 // Time it has spent being active
14 // Tracks whether the Popup is active or can be (re)used.
15 bool active;
16
21 ScorePopup();
22
27 void setScore(int score);
28};
29
30
31class WorldView final : public logic::Observer {
32public:
38 explicit WorldView(
39 const std::shared_ptr<logic::World>& world,
40 const std::shared_ptr<logic::Score>& scoreSystem
41 );
42
46 void resized();
47
51 void render();
52
53private:
62 void update(logic::Events event) override;
63
64 std::shared_ptr<logic::World> world;
65 std::shared_ptr<logic::Score> scoreSystem;
66
67 std::vector<ScorePopup> scores;
68 int ghostPoints = logic::GHOST_POINTS;
69
70 sf::Sprite live1;
71 sf::Sprite live2;
72 sf::Sprite live3;
73
74 sf::Text scoreText;
75};
76
77
78#endif //PACMAN_WORLDVIEW_H
WorldView(const std::shared_ptr< logic::World > &world, const std::shared_ptr< logic::Score > &scoreSystem)
WorldView renders and manages the Game UI.
Definition WorldView.cpp:54
void resized()
Resizes the Game and World UI.
Definition WorldView.cpp:85
void render()
Renders the Game and World UI.
Definition WorldView.cpp:113
Definition Observer.h:16
Events
Definition Observer.h:14
constexpr int GHOST_POINTS
Definition Score.h:14
void setScore(int score)
Sets the Sprite sf::TextureRect to the corresponding score.
Definition WorldView.cpp:11
bool active
Definition WorldView.h:15
double elapsedTime
Definition WorldView.h:13
ScorePopup()
Definition WorldView.cpp:8
sf::Sprite sprite
Definition WorldView.h:11