public override void OnInspectorGUI() { int old_parm_index = exampleScript.parmIndex; if (exampleScript.hasAsset()) { // Set up dropdown for selecting a parameter EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Parameter Name"); exampleScript.parmIndex = EditorGUILayout.Popup(old_parm_index, exampleScript.parmNames); EditorGUILayout.EndHorizontal(); // If selected parameter has changed then we need // to get value for new parameter if (old_parm_index != exampleScript.parmIndex) { exampleScript.setSelectedParameter(); } // Set up field for parameter value EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Value"); exampleScript.getParameterGUI(); EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Set Parameter")) { exampleScript.setParameterValue(); } } }