/* * Function: SaveData * * Description: saves all relevant player and quest data to disk, data contained * in the PlayerStatistics class * Creator: Myles Hagen */ public void SaveData() { sceneNum = SceneManager.GetActiveScene().buildIndex; if (!Directory.Exists("Saves")) { Directory.CreateDirectory("Saves"); } BinaryFormatter formatter = new BinaryFormatter(); FileStream saveFile = File.Create("Saves/save.binary"); LocalCopyOfData = PlayerState.Instance.localPlayerData; formatter.Serialize(saveFile, LocalCopyOfData); saveFile.Close(); FileStream saveQuestFile = File.Create(Application.persistentDataPath + "/questInfo.dat"); QuestStatistic qs = new QuestStatistic(); // foreach (var item in saveQuest) { // // } FindNPCSaveBool(); qs.questStatistic = saveQuest; formatter.Serialize(saveQuestFile, qs); saveQuestFile.Close(); }
/* * Function: LoadData * * Description: load all player data and quest data from disk * Creator: Myles Hagen */ public void LoadData() { sceneNum = SceneManager.GetActiveScene().buildIndex; BinaryFormatter formatter = new BinaryFormatter(); FileStream saveFile = File.Open("Saves/save.binary", FileMode.Open); LocalCopyOfData = (PlayerStatistics)formatter.Deserialize(saveFile); //Debug.Log ("current hp in LoadData: " + LocalCopyOfData.HP); saveFile.Close(); if (File.Exists(Application.persistentDataPath + "/questInfo.dat")) { BinaryFormatter bf = new BinaryFormatter(); FileStream loadQuestFile = File.Open(Application.persistentDataPath + "/questInfo.dat", FileMode.Open); QuestStatistic qs = (QuestStatistic)bf.Deserialize(loadQuestFile); saveQuest = qs.questStatistic; FindNPCSetBool(sceneNum); loadQuestFile.Close(); } }