using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class AddTagsToObject : EditorWindow {
string TagName;
GameObject SceneObject;
[MenuItem("SHxnEditor/AddTagsToGameObjects")]
static void AddTagsToGameObject(){
Rect rect = new Rect (0, 0, 400, 400);
//AddTagsToObject window =(AddTagsToObject) EditorWindow.GetWindowWithRect (typeof(AddTagsToObject),new Rect(400,400,500,500),true,"AddTagsToGameObject"); //-less--code--
//var window=GetWindowWithRect<AddTagsToObject>(new Rect(400,400,500,500),true,"AddTagsToGameObject");
AddTagsToObject window =(AddTagsToObject) EditorWindow.GetWindowWithRect (typeof(AddTagsToObject),rect,true,"AddTagsToGameObject");
window.Show ();
}
void OnGUI(){
TagName = EditorGUILayout.TagField("Choose TAG",TagName,GUILayout.Height(20));
SceneObject = (GameObject)EditorGUILayout.ObjectField ("Scene GameObject",SceneObject,typeof(GameObject),true);
if (GUILayout.Button ("Add Tags")) {
if (SceneObject == null) {
ShowNotification (new GUIContent ("No Object selected!!"));
}
else{
AddTags ();
}
}
if (GUILayout.Button ("Add Layer")) {
}
}
//----add-tags----
void AddTags(){
Transform[] scenechildren=SceneObject.GetComponentsInChildren<Transform> ();
foreach(Transform child in scenechildren){
if (child.name.Contains ("facade")) {
foreach (Transform childd in child.parent) {
if(childd.tag!=TagName)
Undo.RecordObject (childd.gameObject,"Add Tags");
childd.tag=TagName;
}
}
}
}
//----add-layer-----
void Addlayer(){
}
}
GetComponentsInChild<Transform>()获取所有子对象transform;