要应用 using UnityEditor; AddTag("hello"); //添加tag标签 void AddTag(string tag) { if(!isHasTag(tag)) { SerializedObject tagManager = new SerializedObject(AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/TagManager.asset")[0]); SerializedProperty it = tagManager.GetIterator(); while (it.NextVisible(true)) { if(it.name == "tags") { for (int i = 0; i < it.arraySize; i++) { SerializedProperty dataPoint = it.GetArrayElementAtIndex(i); if(string.IsNullOrEmpty(dataPoint.stringValue)){ dataPoint.stringValue = tag; tagManager.ApplyModifiedProperties(); return; } } } } } } bool isHasTag(string tag) { for (int i = 0; i < UnityEditorInternal.InternalEditorUtility.tags.Length; i++) { if (UnityEditorInternal.InternalEditorUtility.tags[i].Contains(tag)) return true; } return false; } |
|