public static string[] GetFilesInPath(UnityDirectory unityDirectory) { GetDirectory(unityDirectory); string path = GetDirectory(unityDirectory); string [] filesInDirectory = Directory.GetFiles(path).Where(name => !name.EndsWith(".meta", StringComparison.OrdinalIgnoreCase)).ToArray(); return(filesInDirectory); }
public static void Save <T>(UnityDirectory unityDirectory, T data, string fileName) { CheckAndCreateDirectory(GetDirectory(unityDirectory)); string filePath = GetDirectory(unityDirectory) + Path.AltDirectorySeparatorChar + fileName; string jsonData = JsonUtility.ToJson(data); FileStream fileStream = new FileStream(filePath, FileMode.Create); StreamWriter streamWriter = new StreamWriter(fileStream); streamWriter.Write(jsonData); streamWriter.Close(); fileStream.Close(); }
public static T Load <T>(UnityDirectory unityDirectory, string fileName) { CheckAndCreateDirectory(GetDirectory(unityDirectory)); string filePath = GetDirectory(unityDirectory) + Path.AltDirectorySeparatorChar + fileName; if (!CheckFile(filePath)) { throw new Exception("Cannot load" + fileName); } StreamReader sr = new StreamReader(filePath); string jsonData = sr.ReadToEnd(); sr.Close(); return(JsonUtility.FromJson <T>(jsonData)); }
public static string GetDirectory(UnityDirectory unityDirectory) { switch (unityDirectory) { case UnityDirectory.StreamingAsset: return(Application.streamingAssetsPath); case UnityDirectory.PersistentData: return(Application.persistentDataPath); case UnityDirectory.DataPath: return(Application.dataPath); case UnityDirectory.TemporaryCachePath: return(Application.temporaryCachePath); default: throw new ArgumentOutOfRangeException(nameof(unityDirectory), unityDirectory, null); } }
/// <summary> /// This method allow to save data in the specified unityDirectory /// </summary> /// <param name="unityDirectory">The specified unityDirectory</param> /// <param name="data">The serializable data</param> /// <param name="fileName">The data fileName</param> /// <typeparam name="T">The serializable data type</typeparam> public static void Save <T>(UnityDirectory unityDirectory, T data, string fileName) { //Call CheckOrCreateDirectory CheckOrCreateDirectory(GetDirectory(unityDirectory)); //Get the filePath string path = GetDirectory(unityDirectory) + Path.AltDirectorySeparatorChar + fileName; //Serialize data to Json file string jsonData = JsonUtility.ToJson(data); //Open the fileStream to the file FileStream fileStream = new FileStream(path, FileMode.Create); //Open the streamWriter on the fileStream StreamWriter streamWriter = new StreamWriter(fileStream); //Write the jsonData using the streamWriter streamWriter.Write(jsonData); //Close the streamWriter streamWriter.Close(); //Close the fileStream fileStream.Close(); }
/// <summary> /// This method allow to Load data in the specified unityDirectory /// </summary> /// <param name="unityDirectory">The specified unityDirectory</param> /// <param name="fileName">The data fileName</param> /// /// <typeparam name="T">The serializable data type</typeparam> public static T Load <T>(UnityDirectory unityDirectory, string fileName) { //Call CheckOrCreateDirectory CheckOrCreateDirectory(GetDirectory(unityDirectory)); //Get the filePath string filePath = GetDirectory(unityDirectory) + Path.AltDirectorySeparatorChar + fileName; //Call checkFile if (!CheckFile(filePath)) { throw new Exception("Can't load: File does not exist"); } //Open file reader on the file StreamReader streamReader = new StreamReader(filePath); //Read the jsonData using the streamReader string jsonData = streamReader.ReadToEnd(); //Close the streamWriter streamReader.Close(); //Convert le json en data return(JsonUtility.FromJson <T>(jsonData)); }