Riepilogo: slot di salvataggio
Fa parte della sezione Architettura dei giochi in Unity del percorso Unity di Coddy. Lezione 27 di 50.
Sfida
MedioUn gioco di fattoria ha tre slot di salvataggio, ciascuno nel proprio file: slot1.json, slot2.json e slot3.json in Application.persistentDataPath. Scrivi SlotSave e SlotMenu:
SlotSave(in SlotSave.cs) è una classe[System.Serializable]con i campi pubblicidayegold. Una nuova fattoria inizia al giorno 1 con 20 monete d’oro, e un salvataggio di una versione precedente a cui manca un valore riceve lo stesso valore iniziale.- All’avvio del gioco, il menu carica ogni slot per cui esiste un file. Lo slot 1 è selezionato; la freccia giù seleziona lo slot successivo e la freccia su quello precedente, fermandosi allo slot 3 e allo slot 1.
- I tre
slotTextsmostrano ogni slot comeSlot 2: Day 4, 65 goldoppureSlot 2: empty, e la riga dello slot selezionato inizia con>, come in> Slot 1: empty. - Premendo Spazio su uno slot vuoto si avvia una nuova fattoria in quello slot. Premendo Spazio su uno slot in uso si gioca una giornata: il giorno aumenta di 1 e l’oro di 15. In entrambi i casi, lo slot viene salvato nel suo file.
- Il pulsante Delete chiama
DeleteSelected(), che elimina il file dello slot selezionato e svuota lo slot.
Premi Play, avvia una o due fattorie e gioca qualche giornata, poi premi Stop e di nuovo Play. Quindi premi Check.
Provalo tu
using System.IO;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;
public class SlotMenu : MonoBehaviour
{
public TMP_Text[] slotTexts;
// Il pulsante Delete chiama questo metodo
public void DeleteSelected()
{
}
}
Tutte le lezioni di Architettura dei giochi in Unity
1Componenti, non gerarchie
Componenti piccoliUno script base per i nemiciComponenti astrattiComponenti che collaboranoRiepilogo: torretta modulare4Dati serializzati
Classi serializzabiliListe nell'InspectorEnum nell'InspectorRiepilogo: tabella del bottino7Macchine a stati
Gli stati come classiUna macchina a statiTransizioniIntelligenze dei nemiciRiepilogo: stati della porta10Progetto: Sopravvissuto nell’arena
L’eroeTipi di nemici5ScriptableObjects
Asset di datiStatistiche delle armiImpostazioni condiviseOndate come datiRiepilogo: database degli oggetti3Eventi
Eventi C# in UnityIscriviti in OnEnableCampi UnityEventGli eventi guidano l'interfaccia utenteRiepilogo: popup dell'obiettivo6Salvare con JSON
JsonUtilitySalva la partitaCaricamento e valori predefinitiRiepilogo: slot di salvataggio