Menu
CoddyTech

Récapitulatif : emplacements de sauvegarde

Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 27 sur 50.

challenge icon

Défi

Moyen

Un jeu de ferme dispose de trois emplacements de sauvegarde, chacun dans son propre fichier : slot1.json, slot2.json et slot3.json dans Application.persistentDataPath. Écris SlotSave et SlotMenu :

  • SlotSave (dans SlotSave.cs) est une classe [System.Serializable] avec les champs publics day et gold. Une nouvelle ferme commence au jour 1 avec 20 pièces d’or, et une sauvegarde d’une ancienne version à laquelle il manque une valeur reçoit cette même valeur de départ.
  • Au démarrage du jeu, le menu charge chaque emplacement qui possède un fichier. L’emplacement 1 est sélectionné ; la flèche vers le bas sélectionne l’emplacement suivant et la flèche vers le haut celui qui le précède, en s’arrêtant à l’emplacement 3 et à l’emplacement 1.
  • Les trois slotTexts affichent chaque emplacement sous la forme Slot 2: Day 4, 65 gold ou Slot 2: empty, et la ligne de l’emplacement sélectionné commence par > , comme dans > Slot 1: empty.
  • La barre d’espace sur un emplacement vide y démarre une nouvelle ferme. La barre d’espace sur un emplacement utilisé fait avancer d’un jour : le jour augmente de 1 et l’or de 15. Dans les deux cas, l’emplacement est sauvegardé dans son fichier.
  • Le bouton Delete appelle DeleteSelected(), qui supprime le fichier de l’emplacement sélectionné et vide cet emplacement.

Appuie sur Play, démarre une ou deux fermes et joue quelques jours, puis clique sur Stop et à nouveau sur Play. Ensuite, clique sur Check.

Essayez vous-même

using System.IO;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;

public class SlotMenu : MonoBehaviour
{
    public TMP_Text[] slotTexts;

    // Le bouton Delete appelle cette méthode
    public void DeleteSelected()
    {
    }
}

Toutes les leçons de Architecture de jeu dans Unity