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);
        }
Exemple #2
0
    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();
    }
Exemple #3
0
    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));
    }
Exemple #4
0
    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));
    }