// property change private void matPropertyTB_TextChanged(object sender, EventArgs e) { MatParam matParams = null; propList.TryGetValue(matPropertyNameTB.Text, out matParams); descriptionLabel.Text = "Description:\n"; tableLayoutPanel1.Controls.Remove(tableLayoutPanel1.GetControlFromPosition(2, 0)); tableLayoutPanel1.Controls.Remove(tableLayoutPanel1.GetControlFromPosition(2, 1)); tableLayoutPanel1.Controls.Remove(tableLayoutPanel1.GetControlFromPosition(2, 2)); tableLayoutPanel1.Controls.Remove(tableLayoutPanel1.GetControlFromPosition(2, 3)); if (matParams != null) { descriptionLabel.Text += matParams.description; param1Label.Text = matParams.paramLabels[0].Equals("") ? "Param1" : matParams.paramLabels[0]; param2Label.Text = matParams.paramLabels[1].Equals("") ? "Param2" : matParams.paramLabels[1]; param3Label.Text = matParams.paramLabels[2].Equals("") ? "Param3" : matParams.paramLabels[2]; param4Label.Text = matParams.paramLabels[3].Equals("") ? "Param4" : matParams.paramLabels[3]; // Not all material properties need a trackbar (Ex: NU_materialHash). param1TrackBar.Enabled = matParams.useTrackBar; param2TrackBar.Enabled = matParams.useTrackBar; param3TrackBar.Enabled = matParams.useTrackBar; param4TrackBar.Enabled = matParams.useTrackBar; } else { param1Label.Text = "Param1"; param2Label.Text = "Param2"; param3Label.Text = "Param3"; param4Label.Text = "Param4"; } }
private void param1TB_TextChanged(object sender, EventArgs e) { if (matPropertyNameTB.Text.Equals("NU_materialHash")) { int f = GuiTools.TryParseTBInt(param1TB, true); if (f != -1 && propertiesListView.SelectedItems.Count > 0) { materials[currentMatIndex].entries[propertiesListView.SelectedItems[0].Text][0] = BitConverter.ToSingle(BitConverter.GetBytes(f), 0); } } else { float f = -1; float.TryParse(param1TB.Text, out f); if (f != -1 && propertiesListView.SelectedItems.Count > 0) { materials[currentMatIndex].entries[propertiesListView.SelectedItems[0].Text][0] = f; // Update trackbar. MatParam labels = null; propList.TryGetValue(matPropertyNameTB.Text, out labels); float max = 1; if (labels != null) { max = labels.max1; } GuiTools.UpdateTrackBarFromValue(f, param1TrackBar, 0, max); } } UpdateButtonColor(); }
public void InitPropList() { propList = new Dictionary <string, MatParam>(); if (File.Exists("param_labels\\material_params.ini")) { try { MatParam matParam = new MatParam(); using (StreamReader sr = new StreamReader("param_labels\\material_params.ini")) { while (!sr.EndOfStream) { string[] args = sr.ReadLine().Split('='); string line = args[0]; switch (line) { case "[Param]": if (!matParam.name.Equals("") && !propList.ContainsKey(matParam.name)) { propList.Add(matParam.name, matParam); } matParam = new MatParam(); break; case "name": matParam.name = args[1]; Console.WriteLine(matParam.name); break; case "description": matParam.description = args[1]; break; case "param1": matParam.paramLabels[0] = args[1]; break; case "param2": matParam.paramLabels[1] = args[1]; break; case "param3": matParam.paramLabels[2] = args[1]; break; case "param4": matParam.paramLabels[3] = args[1]; break; case "max1": float.TryParse(args[1], out matParam.max1); break; case "max2": float.TryParse(args[1], out matParam.max2); break; case "max3": float.TryParse(args[1], out matParam.max3); break; case "max4": float.TryParse(args[1], out matParam.max4); break; case "useTrackBar": bool.TryParse(args[1], out matParam.useTrackBar); break; } } } if (!matParam.name.Equals("") && !propList.ContainsKey(matParam.name)) { propList.Add(matParam.name, matParam); } } catch (Exception) { } } }
private void param4TrackBar_Scroll(object sender, EventArgs e) { MatParam labels = null; propList.TryGetValue(matPropertyNameTB.Text, out labels); if (labels != null) { param4TB.Text = GuiTools.GetTrackBarValue(param4TrackBar, 0, labels.max4).ToString(); } }
private void param3TB_TextChanged(object sender, EventArgs e) { float f = -1; float.TryParse(param3TB.Text, out f); if (f != -1 && propertiesListView.SelectedItems.Count > 0) { materials[currentMatIndex].entries[propertiesListView.SelectedItems[0].Text][2] = f; // update trackbar MatParam labels = null; propList.TryGetValue(matPropertyNameTB.Text, out labels); float max = 1; if (labels != null) { max = labels.max3; } GuiTools.UpdateTrackBarFromValue(f, param3TrackBar, 0, max); } UpdateButtonColor(); }
private void param4TB_TextChanged(object sender, EventArgs e) { float f = -1; float.TryParse(param4TB.Text, out f); if (f != -1 && propertiesListView.SelectedItems.Count > 0) { // Set the param value for the selected property. string matPropertyKey = propertiesListView.SelectedItems[0].Text; materials[currentMatIndex].entries[matPropertyKey][3] = f; // Update trackbar MatParam labels = null; propList.TryGetValue(matPropertyNameTB.Text, out labels); float max = 1; if (labels != null) { max = labels.max4; } GuiTools.UpdateTrackBarFromValue(f, param4TrackBar, 0, max); } }