コード例 #1
0
        // 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";
            }
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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)
                {
                }
            }
        }
コード例 #4
0
        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();
            }
        }
コード例 #5
0
        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();
        }
コード例 #6
0
        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);
            }
        }