void DisplayGUI(SerializedObject obj)
    {
        CV_Camera cam = obj.targetObject as CV_Camera;

        DisplayFlag(cam, CV_Camera.Flags.Boxes, "Boxes");
        DisplayFlag(cam, CV_Camera.Flags.Spheres, "Spheres");
        DisplayFlag(cam, CV_Camera.Flags.Capsules, "Capsules");
        DisplayFlag(cam, CV_Camera.Flags.Meshes, "Meshes");
        DisplayFlagNegate(cam, CV_Camera.Flags.NoTriggers, "Triggers");
    }
 void DisplayFlagNegate(CV_Camera cam, CV_Camera.Flags flag, string label)
 {
     if (EditorGUILayout.Toggle(label, !cam.IsSet(flag)))
     {
         cam.Clear(flag);
     }
     else
     {
         cam.Set(flag);
     }
 }
    void DisplayOptionsGUI(SerializedObject obj)
    {
        CV_Camera cam = obj.targetObject as CV_Camera;

        DisplayFlagNegate(cam, CV_Camera.Flags.NoLines, "Draw Lines");
        DisplayFlagNegate(cam, CV_Camera.Flags.NoFaces, "Draw Faces");
        DisplayFlagNegate(cam, CV_Camera.Flags.NoDepth, "Depth Test");

        DisplayFlagNegate(cam, CV_Camera.Flags.NoGUI, "In-Game GUI");
        SerializedProperty prop = obj.FindProperty("guiYPosition");

        prop.floatValue = EditorGUILayout.Slider("GUI Y-Position", prop.floatValue, 0f, 1f);
    }