public double calNash(string[] files) { string SimFile = files[2]; string ObsFile = files[1]; string PrecFile = files[0]; QData ObsQOrig = ReadQData(ObsFile); QData SimQOrig = ReadQData(SimFile); QData SimQ = new QData(); QData ObsQ = new QData(); if (SimQOrig.count > ObsQOrig.count) { int CommonNum = 0; double[] QS = new double[ObsQOrig.count]; DateTime[] TimeS = new DateTime[ObsQOrig.count]; double[] QO = new double[ObsQOrig.count]; DateTime[] TimeO = new DateTime[ObsQOrig.count]; for (int i = 0; i < ObsQOrig.count; i++) { for (int j = 0; j < SimQOrig.count; j++) { if (SimQOrig.Time[j] == ObsQOrig.Time[i]) { QO[CommonNum] = ObsQOrig.QValue[i]; TimeO[CommonNum] = ObsQOrig.Time[i]; QS[CommonNum] = SimQOrig.QValue[j]; TimeS[CommonNum] = SimQOrig.Time[j]; CommonNum++; continue; } } } //MessageBox.Show(CommonNum.ToString()); double[] QS2 = new double[CommonNum]; DateTime[] TimeS2 = new DateTime[CommonNum]; double[] QO2 = new double[CommonNum]; DateTime[] TimeO2 = new DateTime[CommonNum]; for (int k = 0; k < CommonNum; k++) { QS2[k] = QS[k]; TimeS2[k] = TimeS[k]; QO2[k] = QO[k]; TimeO2[k] = TimeO[k]; } SimQ.Time = TimeS2; SimQ.QValue = QS2; SimQ.count = CommonNum; ObsQ.Time = TimeO2; ObsQ.QValue = QO2; ObsQ.count = CommonNum; } else { SimQ = SimQOrig; } double nash = NashCoef(ObsQ.QValue, SimQ.QValue); return(nash); }
public void StoreInfo(QData data) { var qt = new QTable { Name = "a_Tes", Comment = "", Pk = "Id", PkComment = "Идентификатор" }; RootType.StoreInfo(qt, null, "", null, "a_Tes_", null, data); }
public void StartGame(int categoryIndex) { questions = new List <Pregunta>(); dataScriptable = quizDataList[categoryIndex]; questions.AddRange(dataScriptable.questions); SelectQuestion(); gameStatus = StatusJuego.PLAYING; }
/// <summary> /// Prepare static buffer for Quaternion smoother /// </summary> /// <param name="size"></param> private static void InitQData(int size) { lowPassSamples = size; qSamples = new QData[lowPassSamples]; for (int i = 0; i < lowPassSamples; i++) { qSamples[i] = new QData(); } }
public QData ReadQData(string QFile) { StreamReader sr = new StreamReader(QFile, Encoding.Default); string line; int count = 0; while ((line = sr.ReadLine()) != null) { //MessageBox.Show(line.ToString().Split('\t')[2]); count++; } sr.Close(); double[] Q = new double[count]; DateTime[] Time = new DateTime[count]; StreamReader sr2 = new StreamReader(QFile, Encoding.Default); int idx = 0; string line2; while ((line2 = sr2.ReadLine()) != null) { //try //{ // Time[idx] = DateTime.Parse(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[0] + " " + System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[1]); // Q[idx] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[2].ToString().Trim()); // idx++; //} //catch (System.Exception ex) //{ // DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo(); // dtFormat.ShortDatePattern = "yyyy/MM/dd"; // Time[idx] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[0].ToString(), dtFormat); // Q[idx] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[1].ToString().Trim()); // idx++; //} Time[idx] = DateTime.Parse(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[0] + " " + System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[1]); //Time[idx] = DateTime.Parse(line2.Split('\t')[0].ToString()); Q[idx] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[2].ToString().Trim()); //MessageBox.Show(Time[idx].ToString()); idx++; } QData qdata = new QData(); qdata.Time = Time; qdata.QValue = Q; qdata.count = count; sr2.Close(); return(qdata); }
public static void Main(string[] args) { var occ = new int[MAX]; for (var i = 0; i < MAX; i++) { occ[i] = -1; } int n = readInt(); var num = readArr(); bt = new long[n + 1]; int qc = readInt(); var q = new QData[qc]; for (int i = 0; i < qc; i++) { var ip = readArr(); q[i] = new QData(ip[0], ip[1], i); } Comparison<QData> cmp = (q1, q2) => q1.j.CompareTo(q2.j); Array.Sort(q, cmp); var result = new long[qc]; var pos = 0; for (var i = 0; i < qc; i++) { while (pos < n && pos <= q[i].j) { if (occ[num[pos]] != -1) { update(occ[num[pos]] + 1, -1); } update(pos + 1, 1); occ[num[pos]] = pos++; } result[q[i].pos] = query(q[i].j) - query(q[i].i - 1); } for (var i = 0; i < result.Length; i++) { Console.WriteLine(result[i]); } }
public QData ReadQData(string QFile) { StreamReader sr = new StreamReader(QFile, Encoding.Default); string line; int count = 0; while ((line = sr.ReadLine()) != null) { //MessageBox.Show(line.ToString().Split('\t')[2]); count++; } sr.Close(); double[] Q = new double[count]; DateTime[] Time = new DateTime[count]; StreamReader sr2 = new StreamReader(QFile, Encoding.Default); int idx = 0; string line2; while ((line2 = sr2.ReadLine()) != null) { Time[idx] = DateTime.Parse(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[0] + " " + System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[1]); Q[idx] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[2].ToString().Trim()); //Time[idx] = DateTime.Parse(line2.Split('\t')[0].ToString() + " " + line2.Split('\t')[1].ToString()); //Time[idx] = DateTime.Parse(line2.Split('\t')[0].ToString()); //Q[idx] = Convert.ToDouble(line2.Split('\t')[1].ToString().Trim()); //MessageBox.Show(Time[idx].ToString()); idx++; } sr2.Close(); QData qdata = new QData(); qdata.Time = Time; qdata.QValue = Q; qdata.count = count; return(qdata); }
private QFile transfer(string path) { try { DataSet ds = ImportFormExcel(path); DataTable dt = ImportFormExcel(path).Tables[0]; int rows = dt.Rows.Count + 1; int cols = dt.Columns.Count; object[,] objs = new object[cols, rows]; for (int i = 0; i < dt.Columns.Count; i++) { objs[i, 0] = dt.Columns[i].Caption; } for (int i = 0; i < dt.Rows.Count; i++) { for (int j = 0; j < dt.Columns.Count; j++) { objs[j, i + 1] = dt.Rows[i][j]; } } QFile qf = new QFile(); int count = (dt.Columns.Count - 3) / 4; qf[1002] = SheetName; qf[1005] = SheetName; for (int i = 0; i < count; i++) { QParamter p = new QParamter(); p.id = i + 1; p[2001] = objs[i * 4 + 6, 0].ToString(); p[2102] = double.Parse(objs[i * 4 + 3, 1].ToString()); p[2110] = double.Parse(objs[i * 4 + 4, 1].ToString()); p[2111] = double.Parse(objs[i * 4 + 5, 1].ToString()); double data = double.Parse(objs[i * 4 + 6, 1].ToString()); qf.pramters.Add(p); } int hcount = dt.Rows.Count / 2 + 1; for (int i = 0; i < hcount; i++) { QData data = new QData(); DateTime date = DateTime.Parse(objs[0, i * 2 + 1].ToString() + " " + objs[1, i * 2 + 1].ToString()); for (int j = 0; j < count; j++) { QDataItem di = new QDataItem(); di.date = date; string v = objs[j * 4 + 3, i * 2 + 1].ToString(); if (v == null || v.Length == 0) { di.p1 = 256; } else { di.value = double.Parse(v); } data.items.Add(di); } qf.data.Add(data); } return(qf); } catch (Exception e1) { AddLog(path, e1.Message); } return(null); }
internal static void StoreInfo(QTable qt, QHierarchy h, string prefix, string comment, string tab_prefix, string tab_comment, QData data) { var prf = (prefix != null && prefix.Length > 10 ? prefix.Substring(0, 5) + prefix.Substring(prefix.Length - 5) : prefix); data.AddInfo(qt, h, new QField { Name = "StringElement1", Type = QType.String, Size = 20, Prefix = prf, Comment = (comment != null ? comment + ": " : "") + "" }, new QField { Name = "StringElement2", Type = QType.String, Size = 100, Prefix = prf, Comment = (comment != null ? comment + ": " : "") + "" }, new QField { Name = "StringElement3", Type = QType.String, Size = 100, Prefix = prf, Comment = (comment != null ? comment + ": " : "") + "" }); StringList.StoreInfo(new QTable { Name = (tab_prefix.Length > 23 ? tab_prefix.Substring(0, 23) : tab_prefix) + "emp", Comment = (tab_comment != null ? tab_comment + ": " : "") + "", Pk = "Id", PkComment = "Идентификатор", Fk = "IdFk", FkComment = "Идентификатор родительской записи" }, new QHierarchy("empty", QHType.List, h), -1, "", data); StringWithAttrType.StoreInfo(qt, new QHierarchy("StringWithAttr", QHType.Member, h), prefix + "SWA", (comment != null ? comment + ": " : "") + "", tab_prefix + "SWA", (tab_comment != null ? tab_comment + ": " : "") + "", data); }
internal static void StoreInfo(QTable qt, QHierarchy h, string prefix, string comment, string tab_prefix, string tab_comment, QData data) { data.AddInfo(qt, h); }
private bool LoadData(string p) { try { string content = ""; using (StreamReader sr = new StreamReader(p, Encoding.Default)) { content = sr.ReadToEnd(); } string[] lines = content.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < lines.Length; i++) { try { //将第i行数据分成三分,分别为时间,数据和头文件。 string[] sectors = lines[i].Split(new char[] { ',', '\r' }, StringSplitOptions.RemoveEmptyEntries); //将第二段数据拆分,拆分后,倒数第二段为数据。 string[] pts = sectors[1].Split(new char[] { ' ', ':' }, StringSplitOptions.RemoveEmptyEntries); //保存数据。 QData data = new QData(); QDataItem di = new QDataItem(); di.date = DateTime.Parse(sectors[0]); di.value = double.Parse(pts[pts.Length - 2]); data.items.Add(di); //根据第三段寻找头文件,如果找到则退出。 bool added = false; for (int j = 0; j < qfs.Count; j++) { string fn = (string)qfs[j].Tag; if (fn.ToLower().Contains(sectors[2].ToLower())) { qfs[j].data.Add(data); added = true; break; } } if (!added) { AddLog(p, string.Format("在转换 {0} 第 {1} 行数据时,未找到定义文件,数据发生丢失,数据为 {2}", p, i, lines[i])); } } catch (Exception e1) { string err = string.Format("在转换 {0} 第 {1} 行数据时发生错误,原因:", p, i); AddFailedFile(p, err + e1.Message); return(false); } } } catch (Exception e1) { AddFailedFile(p, e1.Message); return(false); } return(true); }
private void WriteResults() { var path = Path.Combine("TestResults", QData.EscapeScenePath(EditorApplication.currentScene)) + ".xml"; QData.Save(path, _results); }
public void DrawHydrograph() { string SimFile = files[2]; string ObsFile = files[1]; string PrecFile = files[0]; QData ObsQOrig = ReadQData(ObsFile); QData SimQOrig = ReadQData(SimFile); QData pData = ReadPrecData(PrecFile); QData SimQ = new QData(); QData ObsQ = new QData(); if (SimQOrig.count > ObsQOrig.count) { int CommonNum = 0; double[] QS = new double[ObsQOrig.count]; DateTime[] TimeS = new DateTime[ObsQOrig.count]; double[] QO = new double[ObsQOrig.count]; DateTime[] TimeO = new DateTime[ObsQOrig.count]; for (int i = 0; i < ObsQOrig.count; i++) { for (int j = 0; j < SimQOrig.count; j++) { if (SimQOrig.Time[j] == ObsQOrig.Time[i]) { QO[CommonNum] = ObsQOrig.QValue[i]; TimeO[CommonNum] = ObsQOrig.Time[i]; QS[CommonNum] = SimQOrig.QValue[j]; TimeS[CommonNum] = SimQOrig.Time[j]; CommonNum++; continue; } } } //MessageBox.Show(CommonNum.ToString()); double[] QS2 = new double[CommonNum]; DateTime[] TimeS2 = new DateTime[CommonNum]; double[] QO2 = new double[CommonNum]; DateTime[] TimeO2 = new DateTime[CommonNum]; for (int k = 0; k < CommonNum; k++) { QS2[k] = QS[k]; TimeS2[k] = TimeS[k]; QO2[k] = QO[k]; TimeO2[k] = TimeO[k]; } SimQ.Time = TimeS2; SimQ.QValue = QS2; SimQ.count = CommonNum; ObsQ.Time = TimeO2; ObsQ.QValue = QO2; ObsQ.count = CommonNum; } else { SimQ = SimQOrig; ObsQ = ObsQOrig; } double nash = NashCoef(ObsQ.QValue, SimQ.QValue); //MessageBox.Show(nash.ToString()); axTChartHydrograph.Axis.Left.Automatic = false; axTChartHydrograph.Axis.Left.Maximum = Math.Max(ObsQ.QValue.Max(), SimQ.QValue.Max()) * 1.5; //axTChartHydrograph.Axis.Left.Minimum = Math.Min(0, Math.Min(ObsQ.QValue.Min(), SimQ.QValue.Min()) - 10); axTChartHydrograph.Axis.Left.Minimum = Math.Min(ObsQ.QValue.Min(), SimQ.QValue.Min()) - 10; axTChartHydrograph.Axis.Right.Automatic = false; axTChartHydrograph.Axis.Right.Minimum = pData.QValue.Min(); axTChartHydrograph.Axis.Right.Maximum = pData.QValue.Max() * 4.0; axTChartHydrograph.Series(0).AddArray(ObsQ.QValue.Length, ObsQ.QValue, ObsQ.Time); axTChartHydrograph.Series(1).AddArray(SimQ.QValue.Length, SimQ.QValue, SimQ.Time); axTChartHydrograph.Series(2).AddArray(pData.Time.Length, pData.QValue, pData.Time); axTChartHydrograph.Axis.Left.Title.Caption = files[3]; labelChartTitle.Text = "Nash Coefficient: " + nash.ToString("f3"); }
public QData ReadPrecData(string PrecFile) { StreamReader sr = new StreamReader(PrecFile, Encoding.Default); string line; int count = 0; string[] line2 = new string[500]; while ((line = sr.ReadLine()) != null) { line2[count] = line.ToString(); count++; } sr.Close(); DateTime[] precTime = new DateTime[count * 4]; double[] Prec = new double[count * 4]; int idx = 0; StreamReader sr2 = new StreamReader(PrecFile, Encoding.Default); int identi = line2[0].Split('\t').Length; for (int i = 0; i < count; i++) { DateTime temptime = DateTime.Parse(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[0] + " " + System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[1]); if (identi == 4) { DateTime temptimeend = DateTime.Parse(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[0] + " " + System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[2]); double tempvalue = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[3].ToString().Trim()); precTime[idx] = temptime; precTime[idx + 1] = temptime; precTime[idx + 2] = temptimeend; precTime[idx + 3] = temptimeend; Prec[idx] = 0.0; Prec[idx + 1] = tempvalue; Prec[idx + 2] = tempvalue; Prec[idx + 3] = 0.0; //MessageBox.Show(Prec[idx].ToString()); idx = idx + 4; } else { double tempvalue = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[2].ToString().Trim()); precTime[idx] = temptime; precTime[idx + 1] = temptime; if (idx + 3 < count * 4 - 1) { DateTime temptime2 = DateTime.Parse(System.Text.RegularExpressions.Regex.Split(line2[i + 1], @"\s+")[0] + " " + System.Text.RegularExpressions.Regex.Split(line2[i + 1], @"\s+")[1]); precTime[idx + 2] = temptime2; precTime[idx + 3] = temptime2; //precTime[idx + 2] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2[i + 1], @"\s+")[0].ToString(), dtFormat); //precTime[idx + 3] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2[i + 1], @"\s+")[0].ToString(), dtFormat); } else { precTime[idx + 2] = temptime; precTime[idx + 3] = temptime; } Prec[idx] = 0.0; Prec[idx + 1] = tempvalue; Prec[idx + 2] = tempvalue; Prec[idx + 3] = 0.0; idx = idx + 4; //DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo(); //dtFormat.ShortDatePattern = "yyyy/MM/dd"; //DateTime temptime = Convert.ToDateTime(line2[i].Split('\t')[0].ToString().Trim(), dtFormat); //double tempvalue = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[1].ToString().Trim()); //precTime[idx] = temptime; //precTime[idx + 1] = temptime; ////precTime[idx] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[0].ToString(), dtFormat); ////precTime[idx + 1] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[0].ToString(), dtFormat); //if (idx + 3 < count * 4 - 1) //{ // DateTime temptime2 = Convert.ToDateTime(line2[i + 1].Split('\t')[0].ToString().Trim(), dtFormat); // precTime[idx + 2] = temptime2; // precTime[idx + 3] = temptime2; // //precTime[idx + 2] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2[i + 1], @"\s+")[0].ToString(), dtFormat); // //precTime[idx + 3] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2[i + 1], @"\s+")[0].ToString(), dtFormat); //} //else //{ // precTime[idx + 2] = temptime; // precTime[idx + 3] = temptime; // //precTime[idx + 2] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[0].ToString(), dtFormat); // //precTime[idx + 3] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[0].ToString(), dtFormat); //} //Prec[idx] = 0.0; //Prec[idx + 1] = tempvalue; //Prec[idx + 2] = tempvalue; ////Prec[idx + 1] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[1].ToString().Trim()); ////Prec[idx + 2] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2[i], @"\s+")[1].ToString().Trim()); //Prec[idx + 3] = 0.0; ////MessageBox.Show(Prec[idx].ToString()); //idx = idx + 4; } } sr2.Close(); //while ((line2 = sr2.ReadLine()) != null) //{ // try // { // precTime[idx] = DateTime.Parse(line2.Split('\t')[0].ToString() + " " + line2.Split('\t')[1].ToString()); // precTime[idx + 1] = DateTime.Parse(line2.Split('\t')[0].ToString() + " " + line2.Split('\t')[1].ToString()); // precTime[idx + 2] = DateTime.Parse(line2.Split('\t')[0].ToString() + " " + line2.Split('\t')[2].ToString()); // precTime[idx + 3] = DateTime.Parse(line2.Split('\t')[0].ToString() + " " + line2.Split('\t')[2].ToString()); // Prec[idx] = 0.0; // Prec[idx + 1] = Convert.ToDouble(line2.Split('\t')[3].ToString().Trim()); // Prec[idx + 2] = Convert.ToDouble(line2.Split('\t')[3].ToString().Trim()); // Prec[idx + 3] = 0.0; // //MessageBox.Show(Prec[idx].ToString()); // idx = idx + 4; // } // catch (System.Exception ex) // { // DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo(); // dtFormat.ShortDatePattern = "yyyy/MM/dd"; // precTime[idx] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[0].ToString(), dtFormat); // precTime[idx + 1] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[0].ToString(), dtFormat); // precTime[idx + 2] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[0].ToString(), dtFormat); // precTime[idx + 3] = Convert.ToDateTime(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[0].ToString(), dtFormat); // Prec[idx] = 0.0; // Prec[idx + 1] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[1].ToString().Trim()); // Prec[idx + 2] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Split(line2, @"\s+")[1].ToString().Trim()); // Prec[idx + 3] = 0.0; // //MessageBox.Show(Prec[idx].ToString()); // idx = idx + 4; // } //} QData precdata = new QData(); precdata.Time = precTime; precdata.QValue = Prec; precdata.count = count; return(precdata); }
public void Load(string path) { QData.Load(path, _table); }
public void Save(string path) { QData.Save(path, _table); }
/* * private ScreenSpaceAmbientOcclusion sSAOC; * private ScreenSpaceAmbientObscurance sSAOB; * private EdgeDetection edgeDetection; * private CreaseShading creaseShading; */ /* Fog */ /* * private float m_3DFogAmount = 0f; * private float m_3DFogAmountMax = 1f; * * private float m_3DFogStart = 0f; * private float m_3DFogStartMax = 1f; * * private float m_3DFogDistance = 0; * private float m_3DFogDistanceMax = 100000f; * * private float m_3DNoiseStepSize = 0f; * private float m_3DNoiseStepSizeMax = 120f; * * private float m_3DNoiseScale = 0; * private float m_3DNoiseScaleMax = 1f; */ //Game //private bool useButtons; //private bool useCollision; // Use this for initialization void Start() { //Resolution fullScreen = Screen.fullScreen; /* * //Rendering * antiAliasing = QualitySettings.antiAliasing; * anisotropicFilt = QualitySettings.anisotropicFiltering; * textureQuality = QualitySettings.masterTextureLimit; * pixelLightCount = QualitySettings.pixelLightCount; * //Shadow * shadowProjection = QualitySettings.shadowProjection; * shadowDistance = QualitySettings.shadowDistance; * shadowCascade = QualitySettings.shadowCascades; * //Other * vSync = QualitySettings.vSyncCount; * particleRaycastBudget = QualitySettings.particleRaycastBudget; * frameRate = Application.targetFrameRate; * * LoDLevel = QualitySettings.maximumLODLevel; * LoDBias = QualitySettings.lodBias;*/ //FPS frameUpdateTimer = new Timer(refreshRateMS); frameUpdateTimer.Elapsed += new ElapsedEventHandler(frameUpdateTimer_Elapsed); frameUpdateTimer.AutoReset = true; frameUpdateTimer.Start(); optionWindowRect = new Rect((Screen.width / 2) - (optionWindowRect.width / 2), (Screen.height / 2) - (optionWindowRect.height / 2), optionWindowRect.width, optionWindowRect.height); cameraBehaviours = Camera.main.GetComponents <MonoBehaviour>() as MonoBehaviour[]; //Get MonoBehaviours here. foreach (var t in FindObjectsOfType <MonoBehaviour>()) { var properties = t as RenderProperties; if (properties != null) { this.renderProperties = properties; } var properties1 = t as DayNightProperties; if (properties1 != null) { this.dayNightProperties = properties1; } var properties2 = t as DayNightCloudsProperties; if (properties2 != null) { this.dayNightCloudsProperties = properties2; } var properties3 = t as FogProperties; if (properties3 != null) { this.fogProperties = properties3; } } //m_fogHeight = (float)EUtils.GetFieldValue(renderProperties,"m_fogHeight"); /* * m_fogHeight = (float)EUtils.GetFieldValue(renderProperties,"m_fogHeight"); * EUtils.SetFieldValue(renderProperties,"m_fogHeight",m_fogHeight); * * m_edgeFogDistance = (float)EUtils.GetFieldValue(renderProperties,"m_edgeFogDistance"); * EUtils.SetFieldValue(renderProperties,"m_edgeFogDistance",m_edgeFogDistance); * * m_useVolumeFog = (bool)EUtils.GetFieldValue(renderProperties,"m_useVolumeFog"); * EUtils.SetFieldValue(renderProperties,"m_useVolumeFog",m_useVolumeFog); * * m_volumeFogDensity = (float)EUtils.GetFieldValue(renderProperties,"m_volumeFogDensity"); * EUtils.SetFieldValue(renderProperties,"m_volumeFogDensity",m_volumeFogDensity); * * m_volumeFogStart = (float)EUtils.GetFieldValue(renderProperties,"m_volumeFogStart"); * EUtils.SetFieldValue(renderProperties,"m_volumeFogStart",m_volumeFogStart); * * m_volumeFogDistance = (float)EUtils.GetFieldValue(renderProperties,"m_volumeFogDistance"); * EUtils.SetFieldValue(renderProperties,"m_volumeFogDistance",m_volumeFogDistance); * * m_pollutionFogIntensity = (float)EUtils.GetFieldValue(renderProperties,"m_pollutionFogIntensity"); * EUtils.SetFieldValue(renderProperties,"m_pollutionFogIntensity",m_pollutionFogIntensity); */ /* Fog */ /* * m_3DFogAmount = (float)EUtils.GetFieldValue(GetCameraBehaviour("FogEffect"),"m_3DFogAmount"); * m_3DFogStart = (float)EUtils.GetFieldValue(GetCameraBehaviour("FogEffect"),"m_3DFogStart"); * m_3DFogDistance = (float)EUtils.GetFieldValue(GetCameraBehaviour("FogEffect"),"m_3DFogDistance"); * m_3DNoiseStepSize = (float)EUtils.GetFieldValue(GetCameraBehaviour("FogEffect"),"m_3DNoiseStepSize"); * m_3DNoiseScale = (float)EUtils.GetFieldValue(GetCameraBehaviour("FogEffect"),"m_3DNoiseScale"); */ //Added Effects /* * sSAOC = Camera.main.gameObject.AddComponent<ScreenSpaceAmbientOcclusion>(); * sSAOB = Camera.main.gameObject.AddComponent<ScreenSpaceAmbientObscurance>(); * edgeDetection = Camera.main.gameObject.AddComponent<EdgeDetection>(); * creaseShading = Camera.main.gameObject.AddComponent<CreaseShading>(); * * sSAOC.enabled = false; * sSAOB.enabled = false; * edgeDetection.enabled = false; * creaseShading.enabled = false;*/ //QugetFileLoader Alpha. filePath = Application.persistentDataPath + "\\qMoreOptionsConfig.qgt"; QLoader qLoader = new QLoader(filePath); qData = qLoader.qData; if (qData == null) { qData = new QData(); } if (qData.GetValueByKey("DONT_REMOVE_THIS") == null) { //OVERRIDE qData.AddToValues("DONT_REMOVE_THIS", "ELSE_IT_RESETS!"); ResetToDefault(); } else { //Default antiAliasing = Load(saveTag + GetName(new { antiAliasing })); //anisotropicFilt = Load(saveTag + GetName (new { anisotropicFilt })); float anisoFloat = Load(saveTag + GetName(new { anisotropicFilt })); if (anisoFloat == 0) { anisotropicFilt = AnisotropicFiltering.Disable; } if (anisoFloat == 1) { anisotropicFilt = AnisotropicFiltering.Enable; } if (anisoFloat == 2) { anisotropicFilt = AnisotropicFiltering.ForceEnable; } textureQuality = Load(saveTag + GetName(new { textureQuality })); pixelLightCount = Load(saveTag + GetName(new { pixelLightCount })); //Shadow float shadowProjFloat = Load(saveTag + GetName(new { shadowProjection })); if (shadowProjFloat == 0) { shadowProjection = ShadowProjection.CloseFit; } if (shadowProjFloat == 1) { shadowProjection = ShadowProjection.StableFit; } maxShadowDistance = Load(saveTag + GetName(new { shadowDistance = maxShadowDistance })); shadowCascade = Load(saveTag + GetName(new { shadowCascade })); //Other vSync = Load(saveTag + GetName(new { vSync })); particleRaycastBudget = Load(saveTag + GetName(new { particleRaycastBudget })); frameRate = Load(saveTag + GetName(new { frameRate })); LoDLevel = Load(saveTag + GetName(new { LoDLevel })); LoDBias = Load(saveTag + GetName(new { LoDBias })); //Update QualitySettings.antiAliasing = (int)antiAliasing; QualitySettings.anisotropicFiltering = anisotropicFilt; QualitySettings.masterTextureLimit = (int)textureQuality; QualitySettings.pixelLightCount = (int)pixelLightCount; //Shadow QualitySettings.shadowProjection = shadowProjection; QualitySettings.shadowDistance = maxShadowDistance; QualitySettings.shadowCascades = (int)shadowCascade; //Other QualitySettings.vSyncCount = (int)vSync; QualitySettings.particleRaycastBudget = (int)particleRaycastBudget; Application.targetFrameRate = (int)frameRate; QualitySettings.maximumLODLevel = (int)LoDLevel; QualitySettings.lodBias = LoDBias; //Fog BackupFogClassicOptions(); Configuration.instance.fogClassic = Configuration.defaults.fogClassic; SetFogClassicOptions(); } }