Samouczek 6 — Zapis wyników i opcji
Pliki gracza trafiają do folderu var/ gry na pulpicie, a w sieci do pamięci przeglądarki (IndexedDB): ten sam kod.
// najlepszy wynik
$best = $this->engine->storage->readJson('scores.json', ['best' => 0]);
if ($this->score > $best['best']) {
$this->engine->storage->writeJson('scores.json', ['best' => $this->score]);
}
// ustawienia (zapisywane od razu)
$difficulty = $this->engine->options->get('difficulty', 'normal');
$this->engine->options->set('difficulty', 'hard');
Gdy gracz opuszcza stronę lub zamyka okno, zdarzenie close pozwala zapisać stan:
$this->engine->lifecycle()->on('close', fn () => $this->engine->storage->writeJson('partie.json', $this->state()));
Nigdy nie czytaj plików gracza podczas buildu: folder var/ nie jest publikowany.