Witam. Pisze obecnie Edytor Mapy i napotkałem na pewien problem a mianowicie chciałbym renderować wizualnie parametry obiektów. Mam do dyspozycji dwie funkcje drawStatistics() oraz drawAllStatistics(). Pierwsza z nich rysuje gdy warunki dla rendera są spełnione druga zaś zawsze rysuje statystiki. Chciałbym napisać taka logikę, że gdy obiekt jest zaznaczony lub najechany kursorem to rysuje statystiki wszystkie w przeciwnym wypadku rysuje tylko te, które są wymagane.
virtual void drawStatistics(){
if(renderColliders)
window->draw(*collider->shape);
}
virtual void drawAllStatistics() {
window->draw(*collider->shape);
}
Błędny kod - zła logika
for (auto& go : gameObjects) {
if(!go->mouseIsOver && go->drawingStatistics)
go->drawStatistics();
}
for (auto& go : selectedGameObjects)
if(!go->mouseIsOver)
go->drawAllStatistics();
if (tool == toolType::Cursor)
for (auto& go : gameObjects)
if (go->mouseIsOver) {
go->drawAllStatistics();
}