Unity: Не работает сохранение через код (SaveSerial)
Приветствую дамы и господа! Я столкнулся с интересной проблемой. Я нашел скрипт по сохранению/загрузки файлов игры. Почему-то это не очень работает. Я не могу разобраться с кодом.
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
public static class SaveLoad
{
public static List<Game> savedGames = new List<Game>();
//методы загрузки и сохранения статические, поэтому их можно вызвать откуда угодно
public static void Save()
{
SaveLoad.savedGames.Add(Game.current);
BinaryFormatter bf = new BinaryFormatter();
//Application.persistentDataPath это строка; выведите ее в логах и вы увидите расположение файла сохранений
FileStream file = File.Create (Application.persistentDataPath + "/savedGames.gd");
bf.Serialize(file, SaveLoad.savedGames);
file.Close();
Debug.Log(Application.persistentDataPath);
}
public static void Load()
{
if(File.Exists(Application.persistentDataPath + "/savedGames.gd")) {
BinaryFormatter bf = new BinaryFormatter();
FileStream file = File.Open(Application.persistentDataPath + "/savedGames.gd", FileMode.Open);
SaveLoad.savedGames = (List<Game>)bf.Deserialize(file);
file.Close();
Debug.Log("..");
}
Debug.Log("..");
}
}
Следующий код, был добавлен по инуструкции.
using UnityEngine;
using System.Collections;
[System.Serializable]
public class Game {
public static Game current;
public Character knight;
public Character rogue;
public Character wizard;
public Game () {
knight = new Character();
rogue = new Character();
wizard = new Character();
}
}
Да, и так как код взаимосвязан, есть еще один код
using UnityEngine;
using System.Collections;
[System.Serializable]
public class Character {
public string name;
public Character () {
this.name = "";
}
}
В первом скрипте методы статичны, и я их просто вызываю в нужном скрипте. Написав в них пару строк Debug.Log, я убедился, что все связано как надо. Но код не работает. Хочу отметить, что все сохраняется, но не загружается. Поможете?