protected virtual void OnSceneGUI()
        {
            LimitedHingeJoint limitedHinge = (LimitedHingeJoint)target;

            if (limitedHinge.EditPivots)
            {
                EditorUtilities.EditPivot(limitedHinge.worldFromA, limitedHinge.worldFromB, limitedHinge.AutoSetConnected,
                                          ref limitedHinge.PositionLocal, ref limitedHinge.PositionInConnectedEntity, limitedHinge);
            }
            if (limitedHinge.EditAxes)
            {
                m_AxisEditor.Update(limitedHinge.worldFromA, limitedHinge.worldFromB,
                                    limitedHinge.AutoSetConnected,
                                    limitedHinge.PositionLocal, limitedHinge.PositionInConnectedEntity,
                                    ref limitedHinge.HingeAxisLocal, ref limitedHinge.HingeAxisInConnectedEntity,
                                    ref limitedHinge.PerpendicularAxisLocal, ref limitedHinge.PerpendicularAxisInConnectedEntity,
                                    limitedHinge);
            }
            if (limitedHinge.EditLimits)
            {
                EditorUtilities.EditLimits(limitedHinge.worldFromA, limitedHinge.worldFromB,
                                           limitedHinge.PositionLocal, limitedHinge.HingeAxisLocal,
                                           limitedHinge.HingeAxisInConnectedEntity,
                                           limitedHinge.PerpendicularAxisLocal, limitedHinge.PerpendicularAxisInConnectedEntity,
                                           ref limitedHinge.MinAngle, ref limitedHinge.MaxAngle, m_LimitHandle, limitedHinge);
            }
        }
        public override void OnInspectorGUI()
        {
            LimitedHingeJoint limitedHinge = (LimitedHingeJoint)target;

            EditorGUI.BeginChangeCheck();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Editors:");
            limitedHinge.EditPivots = GUILayout.Toggle(limitedHinge.EditPivots, new GUIContent("Pivot"), "Button");
            limitedHinge.EditAxes   = GUILayout.Toggle(limitedHinge.EditAxes, new GUIContent("Axis"), "Button");
            limitedHinge.EditLimits = GUILayout.Toggle(limitedHinge.EditLimits, new GUIContent("Limits"), "Button");
            GUILayout.EndHorizontal();
            DrawDefaultInspector();

            if (EditorGUI.EndChangeCheck())
            {
                SceneView.RepaintAll();
            }
        }