wordpress可以仿任何站,哪个网站做美食视频软件,黑龙江 网站建设,网站开发的有关公司文章首发见博客#xff1a;https://mwhls.top/4818.html。 无图/格式错误/后续更新请见首发页。 更多更新请到mwhls.top查看 欢迎留言提问或批评建议#xff0c;私信不回。 汇总#xff1a;Unity 记录 摘要#xff1a;处处修改-一处修改的系统配置文件。 思路-2023/08/… 文章首发见博客https://mwhls.top/4818.html。 无图/格式错误/后续更新请见首发页。 更多更新请到mwhls.top查看 欢迎留言提问或批评建议私信不回。 汇总Unity 记录 摘要处处修改-一处修改的系统配置文件。 思路-2023/08/18
前面的文件读取、模板转换等涉及路径信息或是一些游戏的配置信息都是以字符串变量来处理的。一次修改需要处处修改因此转为系统配置文件。系统配置信息两个地方存可变的配置存在文件里不可变的配置存在类里。存档配置信息以文件存存档名下保存配置文件与地图文件。
最终效果-2023/08/18
后几个标题都是虚的目的就是实现下面的转换。 string tiles_info_path Assets/Resources/Saved/TilesInfo.json;-string tiles_info_path game_configs.get_config(TilesInfo);string filename Map_ block_offsets[0] - block_offsets[1] .json;string file_path Assets/Resources/Saved/ filename;-string file_path game_configs.get_saveConfig(MapNameFormat);file_path file_path.Replace({x}, block_offsets[0].ToString());file_path file_path.Replace({y}, block_offsets[1].ToString());数据结构-2023/08/17
不变数据。 // configprivate string _version 0.0.1;// dirprivate string _root_dir Assets/Resources/Saved;private string _save_dir Saves;// fileprivate string _config_file Configs.json;private string _tilesInfo_file TilesInfo.json;// format of fileprivate string _mapName_format Map_{x}_{y}.json;private SystemConfig _system_config;private Dictionarystring, SaveConfig _saves_config;可变数据。 public struct SaveConfig{public string version;public string name;}public struct SystemConfig{public string version;public string last_save;}系统配置-2023/08/17
用于外部读取配置信息暂时仅实现保存。 public string get_config(string name){// ------------- config -------------if (name version)return _system_config.version;else if (name last_save)return _system_config.last_save;// ------------- file -------------else if (name TilesInfo)return Path.Combine(_root_dir, _tilesInfo_file);// ------------- dir -------------else if (name SaveDir)return Path.Combine(_root_dir, _save_dir);// ------------- save -------------else // e.g. Assets/Resources/Saved/ Save/ PlayerName/ configs.jsonreturn Path.Combine(get_config(SaveDir), name, _config_file);}public void select_save(string name){_system_config.last_save name;}private void _init_system_config(string path){_system_config new SystemConfig();_system_config.version _version;_system_config.last_save ;string system_config_json JsonConvert.SerializeObject(_system_config, Formatting.Indented);File.WriteAllText(path, system_config_json);}private void _load_system_config(){string system_config_path Path.Combine(_root_dir, _config_file);if (File.Exists(system_config_path)){ // loadstring jsonText File.ReadAllText(system_config_path);_system_config JsonConvert.DeserializeObjectSystemConfig(jsonText);}else{ // init_init_system_config(system_config_path);}}存档配置-2023/08/17
保存读取与初始化。 public string get_saveConfig(string name, string save_name){if (save_name )save_name get_config(last_save);SaveConfig save_config _saves_config[save_name];// ------------- config -------------if (name root) // root dir of savereturn Path.Combine(get_config(SaveDir), save_name);else if (name version) // save versionreturn _system_config.version;// ------------- format -------------else if (name MapNameFormat)return Path.Combine(get_saveConfig(root, save_name), _mapName_format);elsereturn ;}private SaveConfig _init_save_config(string name){SaveConfig save_config new SaveConfig();if (name )throw new System.Exception(Name of save is EMPTY.);else if (_saves_config.ContainsKey(name))return _saves_config[name];save_config.version _version;save_config.name name;string save_config_path Path.Combine(get_config(name));string save_config_dir Path.GetDirectoryName(save_config_path);Directory.CreateDirectory(save_config_dir);string save_config_json JsonConvert.SerializeObject(save_config, Formatting.Indented);File.WriteAllText(save_config_path, save_config_json);_saves_config.Add(name, save_config);return save_config;}private void _load_saves_config(){// Init, and get all saves (dir name save name)_saves_config new Dictionarystring, SaveConfig();string save_dir get_config(SaveDir);string[] saves_name Directory.GetDirectories(save_dir);// Loop for load config of saveforeach (string save_name in saves_name){string name Path.GetFileName(save_name);string save_config_path get_config(name);string jsonText File.ReadAllText(save_config_path);SaveConfig save_configs JsonConvert.DeserializeObjectSaveConfig(jsonText);_saves_config.Add(name, save_configs);}}