public static void Show(SectionBuilder builder, SectionBuilderData data)
 {
     UpdateSectionObjects(builder);
     GUILayout.Label("Section Builder", EditorStyles.boldLabel);
     GUILayout.BeginHorizontal();
     GUI.enabled = builder.PlayerPointObject != null;
     EditorGUILayout.ObjectField("Player Point", builder.PlayerPointObject == null ? null : builder.PlayerPointObject.transform, typeof(Transform), true);
     if (GUILayout.Button("Select", EditorStyles.miniButton, GUILayout.Width(50)))
     {
         Selection.activeTransform = builder.PlayerPointObject.transform;
     }
     GUILayout.EndHorizontal();
     GUILayout.BeginHorizontal();
     if (GUILayout.Button("Save", EditorStyles.miniButton, new GUILayoutOption[] { GUILayout.Width(50) }))
     {
         builder.BuildPrefab();
     }
     GUI.enabled        = builder.IsValid();
     builder.prefabPath = EditorGUILayout.TextField(builder.prefabPath);
     GUI.enabled        = true;
     GUILayout.EndHorizontal();
     GUILayout.BeginHorizontal();
     if (GUILayout.Button("Load", EditorStyles.miniButton, new GUILayoutOption[] { GUILayout.Width(50) }))
     {
         builder.LoadSection(data.prefab.gameObject);
     }
     data.prefab = (Transform)EditorGUILayout.ObjectField(data.prefab, typeof(Transform), true, new GUILayoutOption[] { });
     GUILayout.EndHorizontal();
     GUILayout.Label("Section Object", EditorStyles.boldLabel);
     if (builder.transform.childCount != 0)
     {
         selectedObject = ShowObjectSelect(builder, selectedObject);
         if (selectedObject >= builder.transform.childCount)
         {
             selectedObject = 0;
         }
         Transform transform = builder.transform.GetChild(selectedObject);
         ShowSectionObject(builder, transform);
     }
 }
 public static void Show(SectionBuilder builder, SectionBuilderData data)
 {
     UpdateSectionObjects(builder);
     GUILayout.Label("Section Builder",EditorStyles.boldLabel);
     GUILayout.BeginHorizontal();
     GUI.enabled = builder.PlayerPointObject!=null;
     EditorGUILayout.ObjectField("Player Point",builder.PlayerPointObject==null ? null : builder.PlayerPointObject.transform,typeof(Transform),true);
     if (GUILayout.Button("Select",EditorStyles.miniButton,GUILayout.Width(50)))
     {
         Selection.activeTransform = builder.PlayerPointObject.transform;
     }
     GUILayout.EndHorizontal();
     GUILayout.BeginHorizontal();
     if (GUILayout.Button("Save", EditorStyles.miniButton, new GUILayoutOption[] { GUILayout.Width(50) }))
     {
         builder.BuildPrefab();
     }
     GUI.enabled = builder.IsValid();
     builder.prefabPath = EditorGUILayout.TextField(builder.prefabPath);
     GUI.enabled = true;
     GUILayout.EndHorizontal();
     GUILayout.BeginHorizontal();
     if (GUILayout.Button("Load", EditorStyles.miniButton, new GUILayoutOption[] { GUILayout.Width(50) }))
     {
         builder.LoadSection(data.prefab.gameObject);
     }
     data.prefab = (Transform)EditorGUILayout.ObjectField(data.prefab, typeof(Transform), true, new GUILayoutOption[] { });
     GUILayout.EndHorizontal();
     GUILayout.Label("Section Object", EditorStyles.boldLabel);
     if (builder.transform.childCount != 0)
     {
         selectedObject = ShowObjectSelect(builder, selectedObject);
         if (selectedObject >= builder.transform.childCount)
         {
             selectedObject = 0;
         }
         Transform transform = builder.transform.GetChild(selectedObject);
         ShowSectionObject(builder, transform);
     }
 }