diff --git a/inc/App.hpp b/inc/App.hpp index 8b7cf72..5c98448 100644 --- a/inc/App.hpp +++ b/inc/App.hpp @@ -1,6 +1,6 @@ #include #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; }; diff --git a/inc/values/DnaManager.hpp b/inc/values/DnaManager.hpp new file mode 100644 index 0000000..a90cab5 --- /dev/null +++ b/inc/values/DnaManager.hpp @@ -0,0 +1,11 @@ +#include "values/Dna.hpp" + +class DnaManager +{ +public: + DnaManager() = default; + Dna *next(bool prevLiked); + +private: + Dna dna; +}; diff --git a/src/App.cpp b/src/App.cpp index 8f2f01a..a4b96c1 100644 --- a/src/App.cpp +++ b/src/App.cpp @@ -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); } } } diff --git a/src/values/DnaManager.cpp b/src/values/DnaManager.cpp new file mode 100644 index 0000000..16dd975 --- /dev/null +++ b/src/values/DnaManager.cpp @@ -0,0 +1,7 @@ +#include "values/DnaManager.hpp" + +Dna *DnaManager::next(bool prevLiked) +{ + newDna(dna); + return &dna; +} \ No newline at end of file