Menu
CoddyTech

Repaso: espacios de guardado

Parte de la sección Arquitectura de juegos en Unity del Journey de Unity de Coddy. Lección 33 de 64.

challenge icon

Desafío

Intermedio

Completa los espacios de guardado; PathFor(i) y Show() están listos.

  1. En SlotSave, inicia una granja con day = 1 y gold = 20.
  2. En Start(), carga cada espacio cuyo archivo exista en slots[i].
  3. La barra espaciadora coloca un new SlotSave() en el espacio seleccionado vacío, o avanza un día: day +1, gold +15. Guárdalo y después llama a Show().

Pulsa «Jugar» y la barra espaciadora: > Slot 1: Day 1, 20 gold. Después, pulsa «Comprobar».

Pruébalo tú mismo

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()
    {
        // Carga cada ranura que tenga un archivo
        Show();
    }

    void Update()
    {
        // Espacio: inicia una granja en la ranura seleccionada o juega un día allí; luego guárdala
    }

    // El botón Delete llama a esto
    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;
        }
    }
}

Todas las lecciones de Arquitectura de juegos en Unity

Practica por tu cuenta: Playground de Unity