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]]"); |
Observaciones
Sección titulada «Observaciones»- 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.
