public void SetConfig(string config, string path) { if (!File.Exists(config)) { return; } this.regx_monster = "(\\s\\S*?)"; this.regx_pendulum = "(\\s\\S*?)"; //设置文件名 this.configName = MyPath.GetFullFileName(MSEConfig.TAG, config); this.replaces = new SortedList <string, string>(); this.typeDic = new SortedList <long, string>(); this.raceDic = new SortedList <long, string>(); string[] lines = File.ReadAllLines(config, Encoding.UTF8); foreach (string line in lines) { if (string.IsNullOrEmpty(line) || line.StartsWith("#")) { continue; } if (line.StartsWith(TAG_CN2TW)) { this.Iscn2tw = ConfHelper.GetBooleanValue(line); } else if (line.StartsWith(TAG_SPELL)) { this.str_spell = ConfHelper.GetValue(line); } else if (line.StartsWith(TAG_HEAD)) { this.head = ConfHelper.GetMultLineValue(line); } else if (line.StartsWith(TAG_END)) { this.end = ConfHelper.GetMultLineValue(line); } else if (line.StartsWith(TAG_TEXT)) { this.temp_text = ConfHelper.GetMultLineValue(line); } else if (line.StartsWith(TAG_TRAP)) { this.str_trap = ConfHelper.GetValue(line); } else if (line.StartsWith(TAG_REG_PENDULUM)) { this.regx_pendulum = ConfHelper.GetValue(line); } else if (line.StartsWith(TAG_REG_MONSTER)) { this.regx_monster = ConfHelper.GetValue(line); } else if (line.StartsWith(TAG_MAXCOUNT)) { this.maxcount = ConfHelper.GetIntegerValue(line, 0); } else if (line.StartsWith(TAG_WIDTH)) { this.width = ConfHelper.GetIntegerValue(line, 0); } else if (line.StartsWith(TAG_HEIGHT)) { this.height = ConfHelper.GetIntegerValue(line, 0); } else if (line.StartsWith(TAG_PEND_WIDTH)) { this.pwidth = ConfHelper.GetIntegerValue(line, 0); } else if (line.StartsWith(TAG_PEND_HEIGHT)) { this.pheight = ConfHelper.GetIntegerValue(line, 0); } else if (line.StartsWith(TAG_NO_TEN)) { this.no10 = ConfHelper.GetBooleanValue(line); } else if (line.StartsWith(TAG_NO_START_CARDS)) { string val = ConfHelper.GetValue(line); string[] cs = val.Split(','); this.noStartCards = new long[cs.Length]; int i = 0; foreach (string str in cs) { long.TryParse(str, out long l); this.noStartCards[i++] = l; } } else if (line.StartsWith(TAG_IMAGE)) { //如果路径不合法,则为后面的路径 this.imagepath = MyPath.CheckDir(ConfHelper.GetValue(line), MyPath.Combine(path, PATH_IMAGE)); //图片缓存目录 this.imagecache = MyPath.Combine(this.imagepath, "cache"); MyPath.CreateDir(this.imagecache); } else if (line.StartsWith(TAG_REPALCE)) { //特数字替换 string word = ConfHelper.GetValue(line); string p = ConfHelper.GetRegex(ConfHelper.GetValue1(word)); string r = ConfHelper.GetRegex(ConfHelper.GetValue2(word)); if (!string.IsNullOrEmpty(p)) { this.replaces.Add(p, r); } } else if (line.StartsWith(TAG_RACE)) { //种族 ConfHelper.DicAdd(this.raceDic, line); } else if (line.StartsWith(TAG_TYPE)) { //类型 ConfHelper.DicAdd(this.typeDic, line); } else if (line.StartsWith(TAG_REIMAGE)) { this.reimage = ConfHelper.GetBooleanValue(line); } } }