Пример #1
0
        /// <summary>
        /// Load a json file with custom extension from a directory.
        /// </summary>
        /// <param name="data">Reference to data to load</param>
        /// <param name="directory">Path to a directory where the json file exist</param>
        /// <param name="filename">Name of the json file</param>
        /// <param name="extension">Custom extension of the json file</param>
        /// <typeparam name="T">Data type to load. Must be serializable.</typeparam>
        public static void LoadFromJson <T>(this VariableCore <T> data, string directory, string filename, string extension)
        {
            var ext         = extension[0] == '.' ? extension : "." + extension;
            var filenameExt = $"{filename}{ext}";

            LoadFromJson(data, directory, filenameExt);
        }
Пример #2
0
        /// <summary>
        /// Load a json file from the given path.
        /// </summary>
        /// <param name="data">Reference to data to load</param>
        /// <param name="fullpath">Path to a directory where the json file exist. Path must include the json file.</param>
        /// <typeparam name="T">Data type to load. Must be serializable.</typeparam>
        public static void LoadFromJson <T>(this VariableCore <T> data, string fullpath)
        {
            if (!File.Exists(fullpath))
            {
                return;
            }
            var jsonString = File.ReadAllText(fullpath);

            data.Value = JsonUtility.FromJson <JsonableWrapper <T> >(jsonString).value;
        }
Пример #3
0
        /// <summary>
        /// Load a json file from a directory.
        /// </summary>
        /// <param name="data">Reference to data to load</param>
        /// <param name="directory">Path to a directory where the json file exist</param>
        /// <param name="filename">Name of the json file</param>
        /// <typeparam name="T">Data type to load. Must be serializable.</typeparam>
        public static void LoadFromJson <T>(this VariableCore <T> data, string directory, string filename)
        {
            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }
            var fn       = filename.Split('.').Length < 2 ? filename + DefaultExtension : filename;
            var fullpath = Path.Combine(directory, fn);

            LoadFromJson(data, fullpath);
        }
Пример #4
0
        /// <summary>
        /// Save a data into json file to the given path.
        /// </summary>
        /// <param name="data">Data to save.</param>
        /// <param name="fullPath">Path to a directory where the json file would exist. Path must include the json filename and extension.</param>
        /// <typeparam name="T">Data type to save. Must be serializable.</typeparam>
        public static void SaveToJson <T>(this VariableCore <T> data, string fullPath)
        {
            var jsonString = JsonUtility.ToJson(new JsonableWrapper <T>(data.Value), Application.isEditor);

            File.WriteAllText(fullPath, jsonString);
        }
Пример #5
0
 /// <summary>
 /// Save a data into json file.
 /// </summary>
 /// <param name="data"></param>
 /// <typeparam name="T"></typeparam>
 public static void SaveToJson <T>(this VariableCore <T> data)
 {
     SaveToJson(data, DefaultPath, data.name);
 }
Пример #6
0
 /// <summary>
 /// Load a json file from Unity's default data directory.
 /// </summary>
 /// <param name="data">Reference to data to load</param>
 /// <typeparam name="T">Data type to load. Must be serializable.</typeparam>
 public static void LoadFromJson <T>(this VariableCore <T> data)
 {
     LoadFromJson(data, DefaultPath, data.name);
 }
Пример #7
0
 /// <summary>
 /// Check whether a json file exist.
 /// </summary>
 /// <param name="data"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static bool IsJsonExist <T>(this VariableCore <T> data)
 {
     return(IsJsonExist(DefaultPath, data.name));
 }
Пример #8
0
 /// <summary>
 /// Check whether a json file exist in a directory.
 /// </summary>
 /// <param name="data"></param>
 /// <param name="filename"></param>
 /// <returns></returns>
 public static bool IsJsonExist <T>(this VariableCore <T> data, string filename)
 {
     return(IsJsonExist(filename));
 }