NL

Tutorial 6 — Scores en opties opslaan

De bestanden van de speler komen in de map var/ van de game op de desktop, en in de opslag van de browser (IndexedDB) op het web: dezelfde code.

// een topscore
$best = $this->engine->storage->readJson('scores.json', ['best' => 0]);
if ($this->score > $best['best']) {
    $this->engine->storage->writeJson('scores.json', ['best' => $this->score]);
}

// instellingen (meteen opgeslagen)
$difficulty = $this->engine->options->get('difficulty', 'normal');
$this->engine->options->set('difficulty', 'hard');

Zodra de pagina wordt verlaten of het venster wordt gesloten, laat het close-event je de toestand bewaren:

$this->engine->lifecycle()->on('close', fn () => $this->engine->storage->writeJson('partie.json', $this->state()));

Lees nooit een bestand van de speler tijdens de build: de map var/ wordt niet gepubliceerd.