Add class DnaManager

This commit is contained in:
Nikola Petrov 2025-01-03 09:25:32 +01:00
parent a96ba1f43f
commit dd54985dc1
4 changed files with 27 additions and 9 deletions

View File

@ -1,6 +1,6 @@
#include <array>
#include "canvas/Canvas.hpp"
#include "values/DnaManager.hpp"
class App
{
@ -21,5 +21,6 @@ private:
Rectangle likeBox;
Rectangle disLikeBox;
Dna dna = {0};
Dna *dnaShow = nullptr;
DnaManager manager;
};

11
inc/values/DnaManager.hpp Normal file
View File

@ -0,0 +1,11 @@
#include "values/Dna.hpp"
class DnaManager
{
public:
DnaManager() = default;
Dna *next(bool prevLiked);
private:
Dna dna;
};

View File

@ -17,9 +17,8 @@ void App::init(int screenWidth, int screenHeight)
mrand::setSeed(1);
canvasTexure = LoadRenderTexture(screenWidth, screenWidth);
newDna(dna);
canvas.newGen(canvasTexure, &dna);
dnaShow = manager.next(false);
canvas.newGen(canvasTexure, dnaShow);
float posY = (screenHeight - screenWidth) / 2.0f;
float recPosX = screenWidth * 0.2f;
@ -36,13 +35,13 @@ void App::update()
Vector2 mouse = GetMousePosition();
if (CheckCollisionPointRec(mouse, disLikeBox))
{
newDna(dna);
canvas.newGen(canvasTexure, &dna);
dnaShow = manager.next(false);
canvas.newGen(canvasTexure, dnaShow);
}
if (CheckCollisionPointRec(mouse, likeBox))
{
newDna(dna);
canvas.newGen(canvasTexure, &dna);
dnaShow = manager.next(true);
canvas.newGen(canvasTexure, dnaShow);
}
}
}

View File

@ -0,0 +1,7 @@
#include "values/DnaManager.hpp"
Dna *DnaManager::next(bool prevLiked)
{
newDna(dna);
return &dna;
}