extract DnaManager system loading in to seperet implementations

This commit is contained in:
2025-01-23 13:55:33 +01:00
parent 971330b3e0
commit 7a96951243
7 changed files with 221 additions and 213 deletions

View File

@@ -1,6 +1,6 @@
#include <array>
#include "canvas/Canvas.hpp"
#include "values/DnaManager.hpp"
#include "DnaStore.hpp"
class App
{
@@ -36,7 +36,7 @@ private:
std::array<UiUnit, 2> unit = {0};
DnaManager manager;
DnaManagerData manager;
Rectangle likedTextBox;
Rectangle genTextBox;

9
inc/DnaStore.hpp Normal file
View File

@@ -0,0 +1,9 @@
#include "values/DnaManager.hpp"
namespace DnaStore
{
void load(DnaManagerData *data);
void saveData(DnaManagerData *data);
void saveVec(DnaManagerData *data);
void saveGen(DnaManagerData *data);
} // namespace DnaStore

View File

@@ -28,19 +28,9 @@ struct NetUnit
static_assert(24 == sizeof(NetUnit));
class DnaManager
struct DnaManagerData
{
public:
void init();
void deinit();
UiUnit next();
void like(UiUnit unit);
int generation;
private:
void saveData();
void saveVec();
void saveGen();
uint128 randSeed;
uint128 id;
int queued;
@@ -48,6 +38,11 @@ private:
std::vector<Dna> vector;
std::vector<int> liked;
std::vector<int> disliked;
void newGen();
};
namespace DnaManager
{
UiUnit next(DnaManagerData *data);
bool like(UiUnit unit, DnaManagerData *data);
void newGen(DnaManagerData *data);
};