private void onSetupClick(object sender, EventArgs e) { using (var dialog = new AxisSetupForm(this)) { if (dialog.ShowDialog() == DialogResult.OK) { Parameters = dialog.Parameters; } } }
AxisParameters DrawAxisInfo(string title, int axisNum, bool inverted, bool status) { AxisParameters output = new AxisParameters(axisNum, inverted); EditorGUILayout.LabelField(title, EditorStyles.largeLabel); GUILayout.BeginHorizontal(); if (GUILayout.Button("Set")) { if (LastAxisIsUnused(axisNum, inverted)) { RemoveAxis(axisNum, inverted); output.num = script.AxisToInt(script.lastAxisUsed); output.inverted = script.lastAxisNegative; script.AddAxis(output.num, output.inverted, script.AxesUsedCurrent); } } if (GUILayout.Button("Reset")) { RemoveAxis(axisNum, inverted); output.num = -1; } GUILayout.EndHorizontal(); if (status) { AxisStatus(axisNum, inverted, true); } else { AxisStatus(axisNum, inverted, false); } EditorGUILayout.Space(); return(output); }
public override void OnInspectorGUI() { errorStyle.fontSize = 12; float lightness = 0.35f; setStyle.normal.textColor = new Color(lightness, lightness, lightness); errorStyle.fontSize = 12; errorStyle.normal.textColor = Color.red; errorStyle.fontStyle = FontStyle.Bold; unassignedStyle.fontSize = 10; unassignedStyle.normal.textColor = Color.yellow; unassignedStyle.normal.textColor = new Color(lightness, lightness, lightness); unassignedStyle.fontStyle = FontStyle.Italic; header.fontSize = 16; header.fontStyle = FontStyle.Bold; controllerStyle.fontSize = 12; controllerStyle.normal.textColor = new Color(lightness, lightness, lightness); controllerStyle.fontStyle = FontStyle.Bold; GUI.enabled = false; EditorGUILayout.ObjectField("Script:", MonoScript.FromMonoBehaviour((VRInputSetup)target), typeof(VRInputSetup), false); GUI.enabled = true; GUILayout.BeginHorizontal(); if (GUILayout.Button("About this script", GUILayout.Height(25))) { script.DisplayAbout(); } Color bColor = GUI.backgroundColor; GUI.backgroundColor = new Color(0.5f, 1, 0.5f, 1); if (GUILayout.Button("Display Manual", GUILayout.Height(25))) { script.DisplayManual(); } GUI.backgroundColor = bColor; GUILayout.EndHorizontal(); AddSpace(3); SerializedObject so = base.serializedObject; EditorGUILayout.PropertyField(so.FindProperty("vrInputLookup"), true); so.ApplyModifiedProperties(); AddSpace(3); // Choose controller for setup if (GUILayout.Button("Switch Controller to Set Up", GUILayout.Height(25))) { script.AskForSwitch(); } EditorGUILayout.LabelField("Current Controller: " + HandStatus(), controllerStyle); AddSpace(3); script = (VRInputSetup)base.target; // ------------------------ Buttons EditorGUILayout.LabelField("Buttons", header); AddSpace(2); script.button1_Touch = DrawButtonInfo("Button1_Touch", script.button1_Touch, script.Button1_TouchStatus); script.button2_Touch = DrawButtonInfo("Button2_Touch", script.button2_Touch, script.Button2_TouchStatus); script.index_Touch = DrawButtonInfo("Index_Touch", script.index_Touch, script.Index_TouchStatus); script.thumb_Touch = DrawButtonInfo("Thumb_Touch", script.thumb_Touch, script.Thumb_TouchStatus); script.button1 = DrawButtonInfo("Button1", script.button1, script.Button1Status); script.button2 = DrawButtonInfo("Button2", script.button2, script.Button2Status); script.thumb_Press = DrawButtonInfo("Thumb_Press", script.thumb_Press, script.Thumb_PressStatus); EditorGUILayout.LabelField("Last Button Pressed: " + script.lastButtonPressed.ToString(), EditorStyles.boldLabel); AddSpace(6); // ------------------------------- Axes EditorGUILayout.LabelField("Axes", header); AddSpace(2); AxisParameters info = DrawAxisInfo("ThumbX", script.thumbX, script.thumbXInverted, script.ThumbXStatus); script.thumbX = info.num; script.thumbXInverted = info.inverted; info = DrawAxisInfo("ThumbY", script.thumbY, script.thumbYInverted, script.ThumbYStatus); script.thumbY = info.num; script.thumbYInverted = info.inverted; info = DrawAxisInfo("Index", script.index, script.indexInverted, script.IndexStatus); script.index = info.num; script.indexInverted = info.inverted; info = DrawAxisInfo("Grab", script.grab, script.grabInverted, script.GrabStatus); script.grab = info.num; script.grabInverted = info.inverted; EditorGUILayout.LabelField("Last Axis used: " + script.lastAxisUsed, EditorStyles.boldLabel); AddSpace(3); GUI.backgroundColor = Color.yellow; if (GUILayout.Button("Apply Settings", GUILayout.Height(50))) { EditorUtility.SetDirty(target); script.ApplySettings(true); } GUI.backgroundColor = bColor; AddSpace(3); }