<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Unity Editor 檢查工程Prefab(預設)中的空組件

      在我們做項目的過程中 經常會有預設中出現空的腳本

      例如:

      導致的原因是因為 腳本的丟失

       

      現在我們來做一個檢查工程中有空腳本的預設工具

      老規矩直接上代碼 放到工程就能用

      using UnityEngine;
      using UnityEditor;
      using System.IO;
      using System.Collections.Generic;
      
      public class PrefabTool : EditorWindow
      {
          [MenuItem("Prefab Tool/Check Missing Scripts")]
          static void CheckMissingScripts()
          {
              List<string> listString = new List<string>();
      
              CollectFiles(Application.dataPath, listString);
      
              for (int i = 0; i < listString.Count; i++)
              {
                  string Path = listString[i];
      
                  float progressBar = (float)i / listString.Count;
      
                  EditorUtility.DisplayProgressBar("Check Missing Scripts", "The progress of : " + ((int)(progressBar * 100)).ToString() + "%", progressBar);
      
                  if (!Path.EndsWith(".prefab"))//只處理prefab文件
                  {
                      continue;
                  }
      
                  Path = ChangeFilePath(Path);
      
                  AssetImporter tmpAssetImport = AssetImporter.GetAtPath(Path);
      
                  GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(tmpAssetImport.assetPath);
      
                  if (prefab == null)
                  {
                      Debug.LogError("空的預設 : " + tmpAssetImport.assetPath);
      
                      continue;
                  }
      
                  Transform[] transforms = prefab.GetComponentsInChildren<Transform>();
                  //獲取所有的子節點;
      
                  for (int j = 0; j < transforms.Length; j++)
                  {
                      GameObject obj = transforms[j].gameObject;
      
                      var components = obj.GetComponents<Component>();
                      //獲取對象所有的Component組件
                      //所有繼承MonoBehaviour的腳本都繼承Component
      
                      for (int k = 0; k < components.Length; k++)
                      {
                          if (components[k] == null)
                          {
                              Debug.LogError("這個預制中有空的腳本 :" + tmpAssetImport.assetPath + " 掛在對象 : " + obj.name + "");
                          }
                      }
                  }
              }
              EditorUtility.ClearProgressBar();
          }
      
          //改變路徑  
          //這種格式的路徑 "C:/Users/XX/Desktop/aaa/New Unity Project/Assets\a.prefab" 改變成 "Assets/a.prefab"
          static string ChangeFilePath(string path)
          {
              path = path.Replace("\\", "/");
              path = path.Replace(Application.dataPath + "/", "");
              path = "Assets/" + path;
      
              return path;
          }
      
          //迭代獲取文件路徑;
          static void CollectFiles(string directory, List<string> outfiles)
          {
              string[] files = Directory.GetFiles(directory);
      
              outfiles.AddRange(files);
      
              string[] childDirectories = Directory.GetDirectories(directory);
      
              if (childDirectories != null && childDirectories.Length > 0)
              {
                  for (int i = 0; i < childDirectories.Length; i++)
                  {
                      string dir = childDirectories[i];
                      if (string.IsNullOrEmpty(dir)) continue;
                      CollectFiles(dir, outfiles);
                  }
              }
          }
      }

      參考 Unity3D研究院編輯器之不實例化Prefab獲取刪除更新組件(十五) | 雨松MOMO程序研究院

      鏈接:http://www.xuanyusong.com/archives/3727

      這篇博客里面那個刪除空腳本的方法 我測試 發現有問題 并不能用!

       

      posted @ 2017-05-20 14:27  鄒強  閱讀(870)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲高清 一区二区三区| 亚洲成人四虎在线播放| 久久国产成人av蜜臀| 亚洲国产美女精品久久久| 色一伊人区二区亚洲最大| 少妇无套内谢免费视频| 国产乱子伦视频在线播放 | 在线免费成人亚洲av| 国产中文成人精品久久久| 黑人巨大亚洲一区二区久| 亚洲精品乱码久久久久久蜜桃不卡| 伊人久久大香线蕉综合观| 国产人妻精品一区二区三区不卡| 国产成人av一区二区三| 眉山市| 亚洲综合伊人五月天中文| 日韩有码国产精品一区| 成年女人碰碰碰视频播放| 亚洲中文字幕一区二区| 国产精品午夜福利在线观看| 成全高清在线播放电视剧| 日韩人妻一区二区三区蜜桃视频| 亚洲区综合中文字幕日日| 少妇高潮喷水久久久影院| 囯产精品久久久久久久久久妞妞| 东京热人妻丝袜无码AV一二三区观| 丁香花在线观看免费观看图片 | 美女一区二区三区亚洲麻豆| 亚洲超碰97无码中文字幕| 一区二区三区激情都市| 国产欧美精品一区aⅴ影院| 40岁大乳的熟妇在线观看| 绯色蜜臀av一区二区不卡| 男女猛烈无遮挡免费视频| 中字幕人妻一区二区三区| 国产精品三级中文字幕| 久热这里只有精品12| 免费观看欧美猛交视频黑人| 久久无码人妻精品一区二区三区| 精品亚洲欧美无人区乱码| 97欧美精品系列一区二区|