Menu
CoddyTech

Récapitulatif : emplacements de sauvegarde

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

challenge icon

Défi

Moyen

Remplis les emplacements de sauvegarde ; PathFor(i) et Show() sont prêts.

  1. Dans SlotSave, commence une ferme avec day = 1 et gold = 20.
  2. Dans Start(), charge chaque emplacement dont le fichier existe dans slots[i].
  3. La barre d’espace place un new SlotSave() dans un emplacement sélectionné vide, ou fait avancer d’un jour : day +1, gold +15. Sauvegarde, puis appelle Show().

Appuie sur « Jouer » puis sur la barre d’espace : > Slot 1: Day 1, 20 gold. Ensuite, appuie sur « Vérifier ».

Essayez vous-même

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

public class SlotMenu : MonoBehaviour
{
    public TMP_Text[] slotTexts;
    private SlotSave[] slots = new SlotSave[3];
    private int selected;

    void Start()
    {
        // Charger chaque emplacement associé à un fichier
        Show();
    }

    void Update()
    {
        // Espace : démarrer une ferme dans l’emplacement sélectionné, ou y jouer une journée, puis sauvegarder
    }

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

    string PathFor(int index)
    {
        return Path.Combine(Application.persistentDataPath, "slot" + (index + 1) + ".json");
    }

    void Show()
    {
        for (int i = 0; i < slots.Length; i++)
        {
            string line = "Slot " + (i + 1) + ": ";
            if (slots[i] == null)
            {
                line += "empty";
            }
            else
            {
                line += "Day " + slots[i].day + ", " + slots[i].gold + " gold";
            }
            if (i == selected)
            {
                line = "> " + line;
            }
            slotTexts[i].text = line;
        }
    }
}

Toutes les leçons de Architecture de jeu dans Unity

Entraînez-vous par vous-même : Playground Unity