store id in DB

This commit is contained in:
2026-02-16 23:07:22 +01:00
parent 6ff4a66551
commit 6794dada92
10 changed files with 123 additions and 12 deletions

View File

@@ -1,6 +1,7 @@
#include <array>
#include "canvas/Canvas.hpp"
#include "DnaStore.hpp"
class App
{

View File

@@ -2,6 +2,8 @@
namespace DnaStore
{
void init();
void deinit();
void load(DnaManagerData *data);
void saveData(DnaManagerData *data);
void saveVec(DnaManagerData *data);

View File

@@ -64,7 +64,7 @@ void App::init(int screenWidth, int screenHeight)
this->screenWidth = screenWidth;
this->screenHeight = screenHeight;
this->canvas.init(screenWidth);
DnaStore::init();
// int s = MeasureText("GEN 9999: 999/999", 20);
// TraceLog(LOG_INFO, "%d", s);
@@ -239,4 +239,5 @@ void App::deinit()
UnloadRenderTexture(canvasTexure[i]);
}
canvas.deinit();
DnaStore::deinit();
}

View File

@@ -9,6 +9,7 @@
#include "sys.hpp"
#include "DnaStore.hpp"
#include "TcpSocket.hpp"
#include "values/DnaDB.hpp"
#include <raylib.h>
@@ -17,19 +18,30 @@
#define VECTOR_FILE_NAME "VECTOR.bin"
#define GEN_FILE_PATTRN "gen/%04d.bin"
#define HOST_NAME "localhost"
#define DB_NAME "data.db"
DnaDB dnaDB;
void DnaStore::init(){
const char* filename = sys::transformFilePath(DB_NAME);
dnaDB.init(filename);
}
void DnaStore::deinit(){
dnaDB.deinit();
}
void DnaStore::load(DnaManagerData *data)
{
const char *dir = sys::transformFilePath("gen");
std::filesystem::create_directory(dir);
if (sys::fileExists(ID_FILE_NAME))
{
sys::loadDataFromFile(ID_FILE_NAME, &data->id, sizeof(int64_t));
}
else
{
std::vector<int64_t> ids = dnaDB.getUserIds();
if(!ids.empty()){
data->id = ids[0];
}else{
data->id = time(nullptr);
sys::saveDataToFile(ID_FILE_NAME, &data->id, sizeof(int64_t));
dnaDB.insertUser(data->id, 0);
}
if (sys::fileExists(DATA_FILE_NAME))