public void Hibernate() { if (FileController == null) { FileController = new OmniscienceFileController(); } FileController.WriteToFile(MyOmniscience, MyOmniscience.BackupMemoryFiles); if (!FileController.FileExists()) { throw new RnpcOmniscienceException($"An error has prevented the Omniscience file from being written."); } foreach (var character in MyOmniscience.MyFollowers) { character.Hibernate(new MemoryFileController(ConfigurationDirectory.Instance.KnowledgeFilesDirectory), MyOmniscience.BackupMemoryFiles); } }
public void WakeUp() { if (FileController == null) { FileController = new OmniscienceFileController(); } var allKnowledge = FileController.ReadFromFile(MyOmniscience.BackupMemoryFiles); if (allKnowledge == null) { throw new RnpcOmniscienceException("The Omniscience file for Cronos could not be properly loaded."); } MyOmniscience = allKnowledge; foreach (var character in MyOmniscience.MyFollowers) { character.WakeUp(new MemoryFileController(ConfigurationDirectory.Instance.KnowledgeFilesDirectory), MyOmniscience.BackupMemoryFiles); } }