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.
Défi
MoyenRemplis les emplacements de sauvegarde ; PathFor(i) et Show() sont prêts.
- Dans
SlotSave, commence une ferme avecday = 1etgold = 20. - Dans
Start(), charge chaque emplacement dont le fichier existe dansslots[i]. - 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 appelleShow().
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
1Des composants, pas des hiérarchies
De petits composantsUn script de base pour les ennemisComposants abstraitsDes composants qui fonctionnent ensembleRécapitulatif : tourelle modulaireRécapitulatif : canon double4Données sérialisées
Classes sérialisablesListes dans l’InspecteurÉnumérations dans l’InspecteurRécapitulatif : table de butinRécapitulatif : tirer le butin2Les interfaces dans Unity
IDamageableInterfaces et TryGetComponentGetComponentsRécapitulatif : touche d’interactionLe plus proche à portée5ScriptableObjects
Ressources de donnéesStatistiques des armesParamètres partagésSauver le ventLes vagues comme donnéesRécapitulatif : base de données des objetsRécapitulatif : acheter dans la boutique3Événements
Les événements C# dans UnityS’abonner dans OnEnableChamps UnityEventLes événements pilotent l’interfaceRécapitulatif : fenêtre de succèsRécapitulatif : minuteur de la fenêtre6Sauvegarder avec JSON
JsonUtilitySauvegarder la partieCharger et valeurs par défautRécapitulatif : emplacements de sauvegardeChoisir et supprimer un emplacementEntraînez-vous par vous-même : Playground Unity