void OnGUI() { GUILayout.BeginHorizontal(); _eNameChangeType = (ENameChangeType)EditorGUILayout.EnumPopup("Name Change Type", _eNameChangeType); GUILayout.EndHorizontal(); switch (_eNameChangeType) { case ENameChangeType.New: ProcSettingView_New(); break; case ENameChangeType.Replace: ProcSettingView_Replace(); break; case ENameChangeType.Append: ProcSettingView_Append(); break; case ENameChangeType.Insert: ProcSettingView_Insert(); break; } GUILayout.Space(20f); if (GUILayout.Button("Change Name!")) { GameObject[] arrObject = Selection.gameObjects; _listGameObject.Clear(); _listGameObject.AddRange(arrObject); _listGameObject.Sort(Comparer_GameObject); Object[] arrFile = Selection.objects; _listObject.Clear(); _listObject.AddRange(arrFile); _listObject.Sort(Comparer_Object); switch (_eNameChangeType) { case ENameChangeType.New: ProcNameChange_New(); break; case ENameChangeType.Replace: ProcNameChange_Replace(); break; case ENameChangeType.Append: ProcNameChange_Append(); break; case ENameChangeType.Insert: ProcNameChange_Insert(); break; } } GUILayout.Space(20f); }
void OnGUI() { GUILayout.BeginHorizontal(); _eNameChangeType = (ENameChangeType)EditorGUILayout.EnumPopup("Name Change Type", _eNameChangeType); GUILayout.EndHorizontal(); switch (_eNameChangeType) { case ENameChangeType.New: ProcSettingView_New(); break; case ENameChangeType.Replace: ProcSettingView_Replace(); break; case ENameChangeType.Append: ProcSettingView_Append(); break; case ENameChangeType.Insert: ProcSettingView_Insert(); break; } GUILayout.BeginHorizontal(); _bIsChangeChildren = EditorGUILayout.Toggle("IsChangeChildren ? ", _bIsChangeChildren); GUILayout.EndHorizontal(); GUILayout.Space(20f); if (GUILayout.Button("Change Name!")) { GameObject[] arrObject = Selection.gameObjects; _listGameObject.Clear(); _listGameObject.AddRange(arrObject); if (_bIsChangeChildren) { HashSet <GameObject> setObjectChecked = new HashSet <GameObject>(); LinkedList <GameObject> listObject = new LinkedList <GameObject>(_listGameObject); LinkedListNode <GameObject> pNode = listObject.First; while (pNode != null) { GameObject pObjectCurrent = pNode.Value; if (setObjectChecked.Contains(pObjectCurrent)) { pNode = pNode.Next; continue; } setObjectChecked.Add(pObjectCurrent); Transform pTransCurrent = pObjectCurrent.transform; for (int i = 0; i < pTransCurrent.childCount; i++) { listObject.AddLast(pTransCurrent.GetChild(i).gameObject); } pNode = pNode.Next; } _listGameObject.Clear(); _listGameObject.AddRange(listObject); } _listGameObject.Sort(Comparer_GameObject); Object[] arrFile = Selection.objects; _listObject.Clear(); _listObject.AddRange(arrFile); _listObject.Sort(Comparer_Object); switch (_eNameChangeType) { case ENameChangeType.New: ProcNameChange_New(); break; case ENameChangeType.Replace: ProcNameChange_Replace(); break; case ENameChangeType.Append: ProcNameChange_Append(); break; case ENameChangeType.Insert: ProcNameChange_Insert(); break; } } GUILayout.Space(20f); }