void OnSceneGUI() { //reference to the class of object used to display gizmo VRBasics_Connector connector = (VRBasics_Connector)target; //DRAW GIZMO connector.DrawGizmo(); }
public override void OnInspectorGUI() { //reference to the class of object VRBasics_Connector connector = (VRBasics_Connector)target; //always update serialized properties at start of OnInspectorGUI serializedObject.Update(); //start listening for changes in inspector values EditorGUI.BeginChangeCheck(); //display serialized properties in inspector EditorGUILayout.PropertyField(typeProp, new GUIContent("Type")); EditorGUILayout.PropertyField(coupleIDProp, new GUIContent("Couple ID")); //these properties are controlled by a male connector if (connector.type == VRBasics_Connector.connectorType.male) { EditorGUILayout.PropertyField(detachMethodProp, new GUIContent("Detach Method")); if (connector.detachMethod == VRBasics_Connector.detachMethods.force) { EditorGUILayout.PropertyField(breakForceProp, new GUIContent("Break Force")); } EditorGUILayout.PropertyField(kinematicWhenConnectedProp, new GUIContent("Kinematic When Connected")); EditorGUILayout.PropertyField(timeOutSecondsProp, new GUIContent("Time Out Seconds")); EditorGUILayout.PropertyField(attachAudioProp, new GUIContent("Attach Audio")); EditorGUILayout.PropertyField(detachAudioProp, new GUIContent("Detach Audio")); } //if there were any changes in inspector values if (EditorGUI.EndChangeCheck()) { //apply changes to serialized properties serializedObject.ApplyModifiedProperties(); if (Application.isPlaying) { connector.DetachFrom(); connector.SetInTimeOut(false); connector.StopCoroutine("ConnectionTimeOut"); } } }