Menu
CoddyTech

振り返り:セーブスロット

CoddyのUnityジャーニー「Unityにおけるゲームアーキテクチャ」セクションの一部。レッスン 27/50。

challenge icon

チャレンジ

中級

農業ゲームには3つのセーブスロットがあり、それぞれ別のファイルに保存されます。ファイルは Application.persistentDataPath 内の slot1.json、slot2.json、slot3.json です。SlotSave と SlotMenu を作成してください。

  • SlotSave(SlotSave.cs 内)は、day と gold のパブリックフィールドを持つ [System.Serializable] クラスです。新しい農場は1日目、所持金20で始まり、値がない古いバージョンのセーブデータでも同じ開始値になります。
  • ゲームの開始時に、メニューはファイルがあるすべてのスロットを読み込みます。スロット1が選択され、下矢印キーで次のスロット、上矢印キーで前のスロットを選択します。スロット3とスロット1で選択が止まります。
  • 3つの slotTexts には、各スロットが Slot 2: Day 4, 65 gold または Slot 2: empty のように表示され、選択中のスロットの行は > から始まり、> Slot 1: empty のようになります。
  • 空のスロットでスペースキーを押すと、そこに新しい農場が始まります。使用中のスロットでスペースキーを押すと、1日進み、所持金が15増えます。どちらの場合も、スロットはファイルに保存されます。
  • Deleteボタンを押すと DeleteSelected() が呼び出され、選択中のスロットのファイルが削除され、そのスロットが空になります。

Play を押し、農場を1つか2つ始めて何日かプレイしたら、Stop を押してからもう一度 Play を押します。その後、Check を押してください。

自分で試してみよう

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

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

    // Deleteボタンがこれを呼び出す
    public void DeleteSelected()
    {
    }
}

Unityにおけるゲームアーキテクチャのすべてのレッスン