diff --git a/inc/App.hpp b/inc/App.hpp index 6a744d3..375e332 100644 --- a/inc/App.hpp +++ b/inc/App.hpp @@ -16,11 +16,13 @@ private: int pos = 0; int screenWidth, screenHeight; Canvas canvas; - std::array< RenderTexture2D, 2> canvasTexure = { 0 }; + std::array canvasTexure = {0}; float rotation = 0.0f; Rectangle destB; Rectangle destA; + Dna dna = {0}; + Vector2 mouseStart; float len; float ofset; diff --git a/inc/canvas/Canvas.hpp b/inc/canvas/Canvas.hpp index dcdb56f..3ee5920 100644 --- a/inc/canvas/Canvas.hpp +++ b/inc/canvas/Canvas.hpp @@ -10,11 +10,9 @@ public: ~Canvas() = default; void init(int size); void deinit(); - void newGen(RenderTexture2D &target); + void newGen(RenderTexture2D &target, Dna *dna); private: BackGround backGround; Tree tree; - - Dna dna = {0}; }; diff --git a/src/App.cpp b/src/App.cpp index aca7a7d..a27ae6b 100644 --- a/src/App.cpp +++ b/src/App.cpp @@ -21,8 +21,10 @@ void App::init(int screenWidth, int screenHeight) canvasTexure[i] = LoadRenderTexture(screenWidth, screenWidth); } - canvas.newGen(canvasTexure[0]); - canvas.newGen(canvasTexure[1]); + newDna(dna); + canvas.newGen(canvasTexure[0], &dna); + newDna(dna); + canvas.newGen(canvasTexure[1], &dna); float posY = (screenHeight - screenWidth) / 2.0f; destA = {0, posY, (float)screenWidth, (float)screenWidth}; @@ -52,7 +54,8 @@ void App::update() if (IsMouseButtonReleased(MOUSE_BUTTON_LEFT) && validHit) { - canvas.newGen(canvasTexure[1 - pos]); + newDna(dna); + canvas.newGen(canvasTexure[1 - pos], &dna); pos = 1 - pos; rotation = 0.0f; destA = destB; diff --git a/src/canvas/Canvas.cpp b/src/canvas/Canvas.cpp index 2215015..7d4dd6c 100644 --- a/src/canvas/Canvas.cpp +++ b/src/canvas/Canvas.cpp @@ -6,15 +6,13 @@ void Canvas::init(int size) tree.init(size); } -void Canvas::newGen(RenderTexture2D &target) +void Canvas::newGen(RenderTexture2D &target, Dna *dna) { BeginTextureMode(target); ClearBackground(WHITE); - newDna(dna); - - backGround.draw(&dna); - tree.draw(&dna); + backGround.draw(dna); + tree.draw(dna); EndTextureMode(); }