C# 如何将数据保存到选定的保存槽

C# 如何将数据保存到选定的保存槽,c#,unity3d,C#,Unity3d,我制作了saveGame功能,我有6个存储槽。我怎么说,我应该将数据保存到哪个插槽?我应该为6个插槽中的每一个创建变量吗 如果我理解正确,那么我将执行以下操作: 每个存储槽都有“SavedOn(DateTime)”、“SavedById(int->执行保存操作的用户)” 然后,当您想要进行新的保存时,我将首先搜索“null”(order by id asc)的插槽,如果没有,我将显示最旧的插槽,并询问用户是否要重写它(通过丢失旧数据并保存新数据) 这就是您要找的吗?如果我理解正确,那么我将执行

我制作了saveGame功能,我有6个存储槽。我怎么说,我应该将数据保存到哪个插槽?我应该为6个插槽中的每一个创建变量吗


如果我理解正确,那么我将执行以下操作:

每个存储槽都有“SavedOn(DateTime)”、“SavedById(int->执行保存操作的用户)”

然后,当您想要进行新的保存时,我将首先搜索“null”(order by id asc)的插槽,如果没有,我将显示最旧的插槽,并询问用户是否要重写它(通过丢失旧数据并保存新数据)


这就是您要找的吗?

如果我理解正确,那么我将执行以下操作:

每个存储槽都有“SavedOn(DateTime)”、“SavedById(int->执行保存操作的用户)”

然后,当您想要进行新的保存时,我将首先搜索“null”(order by id asc)的插槽,如果没有,我将显示最旧的插槽,并询问用户是否要重写它(通过丢失旧数据并保存新数据)

这就是您要寻找的吗?

最基本的方法(我知道不是最好的方法)是将插槽的索引直接添加到PlayerPrefs的键中。您只有6把钥匙,因此钥匙的数量仍然可以接受。 大概是这样的:

 public void ButtonSave()
 {
     // How to say, to which slot should I save?
     latestSaveSlot = currentActiveSlot;
     PlayerPrefs.SetString("date time" + latestSaveSlot, "");
     //...
同样,对于加载阶段

 public void ButtonLoad()
 {
     dateTime[currentActiveSlot]  = PlayerPrefs.GetString("date time" + currentActiveSlot);
     //...
最基本的方法(我知道不是最好的方法)是将插槽的索引直接添加到PlayerPrefs的键中。您只有6把钥匙,因此钥匙的数量仍然可以接受。 大概是这样的:

 public void ButtonSave()
 {
     // How to say, to which slot should I save?
     latestSaveSlot = currentActiveSlot;
     PlayerPrefs.SetString("date time" + latestSaveSlot, "");
     //...
同样,对于加载阶段

 public void ButtonLoad()
 {
     dateTime[currentActiveSlot]  = PlayerPrefs.GetString("date time" + currentActiveSlot);
     //...

这个问题已经回答了很多次。您不需要为每个插槽使用变量。创建一个包含这些变量的简单类,然后使用json和PlayerPrefs保存它。有关完整示例,请参见。这已被回答多次。您不需要为每个插槽使用变量。创建一个包含这些变量的简单类,然后使用json和PlayerPrefs保存它。有关完整示例,请参见。