Commit f6ad9664 authored by Elias Leinenweber's avatar Elias Leinenweber
Browse files

Passe render en non const pour pouvoir modifier pendant le rendu

parent 8cbd04f0
......@@ -53,7 +53,7 @@ class Actor : public Texturable {
*/
void setSurname(const std::string &surname) { this->surname = surname; }
void render() const;
void render();
/**
* @brief affiche la fiche d'information de l'Actor
......
......@@ -27,7 +27,7 @@ class Classroom : public Texturable {
std::vector<Student *> students;
/** @brief Enseignant de la classe. */
const Teacher *teacher;
Teacher *teacher;
public:
/**
......@@ -67,7 +67,7 @@ class Classroom : public Texturable {
int size() { return students.size(); }
/** @brief Effectue le rendu graphique. */
void render() const;
void render();
/**
* @brief Détruit l'instance de la salle de classe.
......
......@@ -48,7 +48,7 @@ class School : public Component {
*/
Classroom *getClassFromIndex(int index) { return classrooms[index]; }
void render() const;
void render();
};
#endif
......@@ -21,7 +21,11 @@ class Subject {
* @param name le nom de la matière
* @param coeff le coefficient de la matière
*/
Subject(const std::string &name, double coeff) : name(name), coeff(coeff) {}
Subject(const std::string &name, double coeff)
: name(name)
, coeff(coeff)
{
}
/**
* @brief Modifie le nom de la matière.
......
......@@ -5,7 +5,7 @@
class Component {
public:
virtual ~Component(){};
virtual void render() const = 0;
virtual void render() = 0;
};
#endif /* COMPONENT_H */
......@@ -6,7 +6,7 @@
/** @brief Une fiche d'information d'un personnage. */
class InfoSheet : public Component {
public:
void render() const;
void render();
};
#endif /* INFO_SHEET_H */
......@@ -5,7 +5,7 @@
class MainMenu : public Component {
public:
void render() const;
void render();
};
#endif /* MAINMENU_H */
......@@ -15,7 +15,7 @@ class MainView : public Component {
public:
MainView();
~MainView();
void render() const;
void render();
};
#endif /* MAINVIEW_H */
......@@ -55,7 +55,7 @@ Game::loop(sf::Clock &clock)
resetComponentID();
mainWindow->handleEvents();
ImGui::SFML::Update(*mainWindow, clock.restart());
for (const Component *component : components)
for (Component *component : components)
component->render();
mainWindow->draw();
mainWindow->display();
......@@ -91,7 +91,9 @@ void
Game::addComponent(Component *component)
{
assert(component);
components.push_back(component);
if (std::find(components.begin(), components.end(), component) ==
components.end())
components.push_back(component);
}
void
......
......@@ -17,7 +17,7 @@ Actor::Actor(const std::string &firstname, const std::string &surname,
}
void
Actor::render() const
Actor::render()
{
const char *str_id = std::to_string(Game::getComponentID()).c_str();
......
......@@ -33,7 +33,7 @@ Classroom::Classroom(int n, Teacher *teacher)
}
void
Classroom::render() const
Classroom::render()
{
ImVec2 size(ImGui::GetIO().DisplaySize.x / 2.25,
ImGui::GetIO().DisplaySize.y / 2.25);
......@@ -52,7 +52,7 @@ Classroom::render() const
teacher->render();
ImGui::SameLine();
ImGui::Dummy(ImVec2(100., 20.));
for (const Student *student : students) {
for (Student *student : students) {
ImGui::SameLine();
student->render();
}
......
......@@ -34,7 +34,7 @@ School::~School()
}
void
School::render() const
School::render()
{
maximizeNextWindow();
if (ImGui::Begin(name.c_str(), nullptr, ImGuiWindowFlags_NoResize |
......
......@@ -12,13 +12,15 @@
#include "view/Utils.h"
void
InfoSheet::render() const
InfoSheet::render()
{
centerNextWindow(500, 320);
if (ImGui::Begin("Fiche d'info", nullptr, ImGuiWindowFlags_NoMove)) {
ImGui::LabelText("Satisfaction", "I can't get no");
ImGui::LabelText("Humeur", "jsp");
ImGui::LabelText("Moyenne générale", "20/20");
if (ImGui::Button("Revenir"))
Game::removeComponent(this);
}
ImGui::End();
}
......@@ -14,7 +14,7 @@
#include "view/Utils.h"
void
MainMenu::render() const
MainMenu::render()
{
centerNextWindow(320, 580);
if (ImGui::Begin("Menu principal", nullptr, ImGuiWindowFlags_NoTitleBar |
......
......@@ -23,7 +23,7 @@ MainView::~MainView()
}
void
MainView::render() const
MainView::render()
{
school->render();
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment