void OnSceneGUI()
    {
        // Draw the scene view helpers
        if (!script.references.isValid)
        {
            return;
        }

        IKSolverFullBodyBipedInspector.AddScene(script.solver, color, true, ref selectedEffector, script.transform);
    }
    protected override void AddInspector()
    {
        if (!Application.isPlaying)
        {
            // Editing References, if they have changed, reinitiate.
            if (BipedReferencesInspector.AddModifiedInspector(references))
            {
                Initiate();
            }

            if (script.references.isValid)
            {
                IKSolverFullBodyBipedInspector.AddReferences(true, content);

                // Draw the inspector for IKSolverFullBody
                if (script.solver.IsValid(false))
                {
                    IKSolverFullBodyBipedInspector.AddInspector(solver, !Application.isPlaying, false, content);
                }
            }

            // Reinitiate if rootNode has changed
            if (serializedObject.ApplyModifiedProperties())
            {
                Initiate();
            }
        }
        else
        {
            BipedReferencesInspector.AddModifiedInspector(references);
            IKSolverFullBodyBipedInspector.AddReferences(true, content);

            if (script.solver.initiated)
            {
                IKSolverFullBodyBipedInspector.AddInspector(solver, !Application.isPlaying, false, content);
            }
        }

        EditorGUILayout.Space();
    }
    protected override SerializedContent[] FindContent()
    {
        references = serializedObject.FindProperty("references");

        return(IKSolverFullBodyBipedInspector.FindContent(solver));
    }