private void GenerateObstacleTag() { GameEditor.RemoveAllTag(); //var entitys = Directory.GetFiles(PathRecoder.EntityRoot, "*", SearchOption.AllDirectories); var obstacles = Directory.GetFiles(PathRecoder.ObstacleRoot, "*", SearchOption.AllDirectories); var files = new List <string>(); //files.AddRange(entitys); files.AddRange(obstacles); foreach (var file in files) { var fullPath = file.Replace('\\', '/'); if (fullPath.EndsWith(".meta")) { continue; } var tag = fullPath.Replace(Application.dataPath + "/", ""); var path = "Assets/" + tag; var assets = AssetDatabase.LoadAssetAtPath <GameObject>(path); GameEditor.AddTag(tag); assets.tag = tag; foreach (var t in assets.GetComponentsInChildren <Transform>(true)) { t.tag = tag; } } Debug.Log("finish!"); }