feat: added debug information toggle to UI
This commit is contained in:
parent
847c0bded5
commit
34a289d36b
|
|
@ -69,6 +69,7 @@ static void PrimaryControls() {
|
||||||
if (!isSimulating) {
|
if (!isSimulating) {
|
||||||
elements::TextButton(CLAY_STRING("Randomize"), style::actionButton, &RandomizeFieldButton);
|
elements::TextButton(CLAY_STRING("Randomize"), style::actionButton, &RandomizeFieldButton);
|
||||||
}
|
}
|
||||||
|
elements::Toggle(CLAY_STRING("Debug Info"), style::actionButton, simulation::drawDebugInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace simulation {
|
namespace simulation {
|
||||||
|
bool drawDebugInfo{ true };
|
||||||
|
|
||||||
static std::set<Cell> living{};
|
static std::set<Cell> living{};
|
||||||
static std::vector<Cell> overpopulated{};
|
static std::vector<Cell> overpopulated{};
|
||||||
static std::vector<Cell> underpopulated{};
|
static std::vector<Cell> underpopulated{};
|
||||||
|
|
@ -145,6 +147,9 @@ void Draw(SDL_Renderer *renderer, double cellSizePercent) {
|
||||||
cellRect.y = (viewOffset.y + cell.y) * cellRect.h;
|
cellRect.y = (viewOffset.y + cell.y) * cellRect.h;
|
||||||
SDL_RenderFillRect(renderer, &cellRect);
|
SDL_RenderFillRect(renderer, &cellRect);
|
||||||
}
|
}
|
||||||
|
if (!drawDebugInfo) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
|
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
|
||||||
for (Cell const &cell : overpopulated) {
|
for (Cell const &cell : overpopulated) {
|
||||||
cellRect.x = (viewOffset.x + cell.x) * cellRect.w;
|
cellRect.x = (viewOffset.x + cell.x) * cellRect.w;
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@ public: CellRange(Cell begin, Cell end) : beginCell{ begin }, endCell{ end } {}
|
||||||
CellIterator end() { return CellIterator{ beginCell, endCell, endCell }; }
|
CellIterator end() { return CellIterator{ beginCell, endCell, endCell }; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern bool drawDebugInfo;
|
||||||
|
|
||||||
void InitializeRandom(size_t livingChance, int64_t fillArea);
|
void InitializeRandom(size_t livingChance, int64_t fillArea);
|
||||||
void Step();
|
void Step();
|
||||||
void Draw(SDL_Renderer *renderer, double cellSizePercent);
|
void Draw(SDL_Renderer *renderer, double cellSizePercent);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue