Ir al contenido
Descargar

Guardar datos

Save guarda valores con un nombre, y siguen ahí cuando el juego se cierra y se vuelve a abrir.

Save::set("recorde", pontos);
int recorde = Save::getInt("recorde");
Función Qué hace Ejemplo
void Save::set(std::string_view key, valor) Guarda un valor: int, float, bool o texto. Brasa lo escribe en el disco sola, en el mismo cuadro. Save::set("volume", 0.5f);
int Save::getInt(std::string_view key, int fallback = 0) El número entero guardado, o fallback si no hay. Save::getInt("recorde")
float Save::getNumber(std::string_view key, float fallback = 0.0f) El número guardado. Save::getNumber("volume", 1.0f)
bool Save::getBool(std::string_view key, bool fallback = false) El sí/no guardado. Save::getBool("tem_espada")
std::string Save::getText(std::string_view key, std::string_view fallback = {}) El texto guardado. Save::getText("nome", "Jogador")
bool Save::has(std::string_view key) true si hay un valor con ese nombre. if (Save::has("recorde")) ...
void Save::remove(std::string_view key) Borra un valor. Save::remove("tem_espada");
void Save::clear() Borra todo (una “partida nueva”). Save::clear();
void Save::set(std::string_view key, const std::vector<int>& values) Guarda una lista entera (también de float y de std::string). Save::set("fases", std::vector<int>{1, 2, 5});
std::vector<int> Save::getInts(std::string_view key) La lista guardada (getNumbers y getTexts para los otros tipos); vacía si no hay. for (int fase : Save::getInts("fases")) ...
bool Save::setJson(std::string_view key, std::string_view json) y std::string Save::getJson(std::string_view key) Cualquier valor escrito en JSON (listas dentro de listas, tablas). Así guardan tablas los scripts en Lua. Save::setJson("mapa", "[[1,0],[0,1]]");
  • El archivo queda en %APPDATA%\Brasa\Jogos\<nombre del juego>\save.json, fuera de la carpeta del juego: sigue ahí cuando el juego se actualiza.
  • El nombre del juego es el de la Configuración del proyecto. Cambiar el nombre empieza un archivo nuevo.
  • Para pasar un valor de una room a otra sin escribir en el disco, mira Guardar datos entre rooms.