振り返り:セーブスロット
CoddyのUnityジャーニー「Unityにおけるゲームアーキテクチャ」セクションの一部。レッスン 27/50。
チャレンジ
中級農業ゲームには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()
{
}
}