回顾:存档槽
本课属于 Coddy Unity 学习旅程的“Unity 游戏架构”单元。第 33 课,共 64 课。
挑战
中等填充存档槽;PathFor(i) 和 Show() 已准备就绪。
- 在
SlotSave中,将农场的初始值设为day = 1和gold = 20。 - 在
Start()中,将文件存在的每个存档槽加载到slots[i]中。 - 按下空格键时,如果选中的存档槽为空,就放入一个
new SlotSave();否则让农场过一天:day+1,gold+15。保存,然后调用Show()。
点击“开始”并按下空格键:> Slot 1: Day 1, 20 gold。然后点击“检查”。
亲手试试
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()
{
// 加载所有有文件的存档位
Show();
}
void Update()
{
// 空格键:在选中的存档位创建农场,或在其中度过一天,然后保存
}
// Delete 按钮会调用这个方法
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;
}
}
}
Unity 游戏架构中的所有课
自己练习: Unity 在线编辑器