コード例 #1
0
ファイル: Form1.cs プロジェクト: profexorgeek/FlatRedBall
        private void parametersBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Get the parameters name
            int    partIndex      = meshPartBox.SelectedIndex;
            string parametersName = (string)parametersBox.Items[parametersBox.SelectedIndex];

            if (parametersName == DefaultParametersString)
            {
                // Set default parameters
                mMaterial.SetPartDefaultParameters(partIndex);
                effectPropGrid.Refresh();
            }
            else if (parametersName == NewParametersString)
            {
                // Create new parameters
                if (saveParxFileDialog.ShowDialog() == DialogResult.OK)
                {
                    string fileName = saveParxFileDialog.FileName;
                    EffectParameterListSave list = EffectParameterListSave.FromEffect(mMaterial.Parts[partIndex].Effect);

                    // Save the file
                    list.Save(fileName);

                    // Add the file
                    mMaterial.AddParameters(fileName, mMaterial.Parts[partIndex].EffectName, partIndex);

                    // Recreate the parameters list
                    CreateParametersList(mMaterial.Parts[partIndex].EffectName);
                }
            }
            else
            {
                // Set parameters on part
                mMaterial.SetPartParameters(partIndex, parametersName);
                effectPropGrid.Refresh();
            }
        }