private void SearchByTag() { EditorGUILayout.BeginHorizontal(); _TagSearchField = EditorGUILayout.TagField(_TagSearchField); if (GUILayout.Button("Search")) { GameObject[] allObjects = GameObject.FindGameObjectsWithTag(_TagSearchField); _transformElements.Clear(); foreach (var go in allObjects) { TransformElement te = new TransformElement(go, go.GetComponent <Transform>()); _transformElements.Add(te); } } if (GUILayout.Button("Reset list")) { _transformElements.Clear(); } EditorGUILayout.EndHorizontal(); }
private static void ManualSelection() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Add selected")) { _gameObjects = Selection.gameObjects; foreach (var gameObject in _gameObjects) { TransformElement te = new TransformElement(gameObject, gameObject.GetComponent <Transform>()); if (!_transformElements.Contains(te)) { _transformElements.Add(te); } } } if (GUILayout.Button("Reset list")) { _transformElements.Clear(); } EditorGUILayout.EndHorizontal(); }
private void SearchByName() { EditorGUILayout.BeginHorizontal(); _nameSearchField = EditorGUILayout.TextField(_nameSearchField); if (GUILayout.Button("Search")) { GameObject[] allObjects = FindObjectsOfType <GameObject>(); _transformElements.Clear(); foreach (var go in allObjects) { if (go.name.Contains(_nameSearchField)) { TransformElement te = new TransformElement(go, go.GetComponent <Transform>()); _transformElements.Add(te); } } } if (GUILayout.Button("Reset list")) { _transformElements.Clear(); } EditorGUILayout.EndHorizontal(); }
public List <TransformElement> ObjectSelectionShowUi(string headerText) { EditorGUILayout.BeginVertical("helpbox"); EditorGUILayout.LabelField(headerText, EditorStyles.boldLabel); _searchOptionsIndex = EditorGUILayout.Popup(_searchOptionsIndex, _searchOptions); switch (_searchOptionsIndex) { case 0: ManualSelection(); break; case 1: SearchByName(); break; case 2: SearchByTag(); break; default: break; } EditorGUILayout.Space(5); if (_transformElements.Count > 0) { _showSelectedObjects = EditorGUILayout.Foldout(_showSelectedObjects, $"{_transformElements.Count} objects selected"); } else if (_transformElements.Count == 0) { _showSelectedObjects = false; EditorGUILayout.LabelField("No objects selected"); } if (_showSelectedObjects) { scrollPos = EditorGUILayout.BeginScrollView(scrollPos, false, true, EditorStyles.textArea, EditorStyles.textArea, EditorStyles.textArea, GUILayout.Width(300), GUILayout.Height(150)); List <TransformElement> transformelementsToDelete = new List <TransformElement>(); foreach (var te in _transformElements) { EditorGUILayout.BeginHorizontal(); GUILayout.Label(te.TheGameObject.name); if (GUILayout.Button("X", GUILayout.Width(25))) { transformelementsToDelete.Add(te); } EditorGUILayout.EndHorizontal(); } if (transformelementsToDelete.Count != 0) { foreach (var te in transformelementsToDelete) { if (_transformElements.Contains(te)) { _transformElements.Remove(te); } } transformelementsToDelete.Clear(); } EditorGUILayout.EndScrollView(); } GUILayout.Space(10); void SearchByTag() { EditorGUILayout.BeginHorizontal(); _TagSearchField = EditorGUILayout.TagField(_TagSearchField); if (GUILayout.Button("Search")) { GameObject[] allObjects = GameObject.FindGameObjectsWithTag(_TagSearchField); _transformElements.Clear(); foreach (var go in allObjects) { TransformElement te = new TransformElement(go, go.GetComponent <Transform>()); _transformElements.Add(te); } } if (GUILayout.Button("Reset list")) { _transformElements.Clear(); } EditorGUILayout.EndHorizontal(); } void SearchByName() { EditorGUILayout.BeginHorizontal(); _nameSearchField = EditorGUILayout.TextField(_nameSearchField); if (GUILayout.Button("Search")) { GameObject[] allObjects = Object.FindObjectsOfType <GameObject>(); _transformElements.Clear(); foreach (var go in allObjects) { if (go.name.Contains(_nameSearchField)) { TransformElement te = new TransformElement(go, go.GetComponent <Transform>()); _transformElements.Add(te); } } } if (GUILayout.Button("Reset list")) { _transformElements.Clear(); } EditorGUILayout.EndHorizontal(); } void ManualSelection() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Add selected")) { _gameObjects = Selection.gameObjects; foreach (var gameObject in _gameObjects) { TransformElement te = new TransformElement(gameObject, gameObject.GetComponent <Transform>()); if (!_transformElements.Contains(te)) { _transformElements.Add(te); } } } if (GUILayout.Button("Reset list")) { _transformElements.Clear(); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); return(_transformElements); }