/// <summary> /// 读取modoverrides,赋值到current值中,用current覆盖default /// </summary> /// <param name="modConfig"></param> public void ReadModoverrides(LuaTable modConfig) { // 如果为空,说明没有开启此mod,返回 if (modConfig == null) { return; } Enabled = (bool)modConfig["enabled"]; // 储存enabled //// enable 为false,说明没有开启mod,返回 //if (Enabled == false) { return; } var modConfigurationOptions = modConfig["configuration_options"]; // 如果没有设置配置,还是返回 if (modConfigurationOptions == null) { return; } // 格式转换 var iDictionary = ((LuaTable)modConfigurationOptions).Members; foreach (var keyValuePair in iDictionary) { // 如果不存在,下一循环 if (!ConfigurationOptions.ContainsKey(keyValuePair.Key)) { continue; } // 赋值到当前值,[到这里,用当前值覆盖了default,如果没有被覆盖的就是默认值] if (keyValuePair.Value != null) { ConfigurationOptions[keyValuePair.Key].Current = keyValuePair.Value.ToString(); } } }