Exemplo n.º 1
0
        public static void Save()
        {
            SingleFileConfig singleFileConfig = new SingleFileConfig();

            foreach (var pair in m_configs)
            {
                ConfigBase cfg = pair.Value;

                ConfigInfo info = PackConfig(cfg);

                string filename = String.IsNullOrEmpty(cfg.FileName) ? info.type.Name : cfg.FileName;

                if (instance.mode == Mode.FilePerConfig)
                {
                    string path = ConfigFolderPath + filename + instance.extension;
                    SerializationHelper.Serialize(info, path, true);
                }
                else
                {
                    singleFileConfig.configs.Add(filename, info);
                }
            }

            if (instance.mode == Mode.SingleConfigFile)
            {
                string path = ConfigFolderPath + instance.SingleFileName + instance.extension;
                SerializationHelper.Serialize(singleFileConfig, path, true);
            }
        }
Exemplo n.º 2
0
        public static void TrySaveSingle(ConfigBase cfg)
        {
            string filename = String.IsNullOrEmpty(cfg.FileName) ? cfg.GetType().Name : cfg.FileName;
            string path     = "";

            if (instance.mode == Mode.FilePerConfig)
            {
                path = ConfigFolderPath + filename + instance.extension;
                SerializationHelper.Serialize(PackConfig(cfg), path, true);
            }
            else
            {
                path = ConfigFolderPath + instance.SingleFileName + instance.extension;
                SingleFileConfig singleFileConfig = SerializationHelper.Load <SingleFileConfig>(path) as SingleFileConfig;
                singleFileConfig.configs.Remove(filename);
                singleFileConfig.configs.Add(filename, PackConfig(cfg));
                SerializationHelper.Serialize(singleFileConfig, path, true);
            }
        }
Exemplo n.º 3
0
        public static void TryLoadSingle(ConfigBase cfg)
        {
            SingleFileConfig singleFileConfig = null;
            string           path             = "";
            string           filename         = "";

            filename = String.IsNullOrEmpty(cfg.FileName) ? cfg.GetType().Name : cfg.FileName;
            if (instance.mode == Mode.SingleConfigFile)
            {
                path             = ConfigFolderPath + instance.SingleFileName + instance.extension;
                singleFileConfig = SerializationHelper.Load <SingleFileConfig>(path) as SingleFileConfig;
            }
            else
            {
                path = ConfigFolderPath + filename + instance.extension;
                if (!File.Exists(path))
                {
                    return;
                }
            }
            ConfigInfo info = null;

            if (instance.mode == Mode.FilePerConfig)
            {
                info = SerializationHelper.Load <ConfigInfo>(path);
            }
            else
            {
                singleFileConfig.configs.TryGetValue(filename, out info);
            }
            if (info == null)
            {
                Debug.LogError("Broken config file it seems : " + path);
                return;
            }
            LoadSingleConfig(info, cfg);
        }