public override void OnInspectorGUI()
    {
        UtilityEditor.VersioningTool("TCT", 0, 1, 0, 0);

        EditorLayout.Space(2);

        EditorReflectionLayout.TextField(eTarget, "name", "SmartCam's Name");

        EditorLayout.Space();

        EditorReflectionLayout.EnumPopup <TypeSmartCam>(eTarget, "typeSmartCam", "TYPE SMART CAM");

        if (Reflection.Field <TypeSmartCam>(eTarget, "typeSmartCam") == TypeSmartCam.NONE)
        {
            return;
        }

        EditorLayout.Space();

        SetTargetSmartCam();

        EditorLayout.Space();

        EditorReflectionLayout.Toggle(smartCamOption, "fixeRotationCam", "Fixe Rotation Camera");

        EditorLayout.Space();

        EditorReflectionLayout.Toggle(smartCamOption, "fixeMovementCam", "Fixe Movement Camera");

        EditorLayout.Space();

        SetOffSetSmartCam();

        EditorLayout.Space();

        EditorReflectionLayout.Slider(smartCamOption, "lerp", "Lerp", 0f, 1f);

        EditorLayout.Space();

        SetSensibilitySmartCam();

        EditorLayout.Space();

        if (Reflection.Field <TypeSmartCam>(eTarget, "typeSmartCam") == TypeSmartCam.TPS)
        {
            smartCamOption.RadiusTPS = EditorLayout.Slider(smartCamOption.RadiusTPS, "Radius", 1, 15);
        }

        else
        {
            smartCamOption.RadiusTPS = 0;
        }

        EditorLayout.Space(2);

        UpdateReflection(ref smartCamOption);

        SceneView.RepaintAll();
    }
 void SetSensibilitySmartCam()
 {
     EditorReflectionLayout.Slider(smartCamOption, "sensibility", "Sensibility", 0f, 2f);
 }
 void SetOffSetSmartCam()
 {
     EditorReflectionLayout.Slider(smartCamOption, "x", "X", -100f, 100f);
     EditorReflectionLayout.Slider(smartCamOption, "y", "Y", -100f, 100f);
     EditorReflectionLayout.Slider(smartCamOption, "z", "Z", -100f, 100f);
 }