Example #1
0
        public static void SaveConfig(IConfigFile config)
        {
            ConfigNameAttribute attr = (ConfigNameAttribute)config.GetType().GetCustomAttributes(typeof(ConfigNameAttribute), false).FirstOrDefault();
            string cfgName           = attr == null?config.GetType().Name : attr.name;

            File.WriteAllText(GetPath(cfgName), JsonUtility.ToJson(config));
        }
Example #2
0
        private static void LoadConfig(Type t)
        {
            ConfigNameAttribute attr = (ConfigNameAttribute)t.GetCustomAttributes(typeof(ConfigNameAttribute), false).FirstOrDefault();
            string cfgName           = attr == null ? t.Name : attr.name;

            string path = GetPath(cfgName);

            if (Directory.Exists(ConfigFolder) && File.Exists(path))
            {
                configFiles.Add(cfgName, (IConfigFile)JsonUtility.FromJson(File.ReadAllText(path), t));
            }
            else
            {
                IConfigFile cfg = (IConfigFile)Activator.CreateInstance(t);
                configFiles.Add(cfgName, cfg);

                Directory.CreateDirectory(ConfigFolder);
                File.WriteAllText(path, JsonUtility.ToJson(cfg));// save default
            }
        }