当前位置: 首页 > news >正文

获取网站访客qq代码网络专业的网站建设价格

获取网站访客qq代码,网络专业的网站建设价格,vs2010 网站开发,无锡网站建设外包优势背景#xff1a; 有时候我们需要找出项目中所有的引用到某个脚本的地方#xff08;比如Prefabs/Scene GameObjects等#xff09;。当项目比较大时#xff0c;手工寻找还是非常费时费力的事情。本文尝试通过插件自动搜索。 分析#xff1a; 基本的思路是#xff1a;首先筛… 背景 有时候我们需要找出项目中所有的引用到某个脚本的地方比如Prefabs/Scene GameObjects等。当项目比较大时手工寻找还是非常费时费力的事情。本文尝试通过插件自动搜索。 分析 基本的思路是首先筛选出项目中全部Prefab加载每个Prefab并判断是否有挂载目标脚本然后载入每个场景判断场景中每个物体是否有挂载目标脚本最后列出结果。 实现 1在右键菜单项中添加菜单 新建一个类命名为 FindScriptRef 并继承自 EditorWindow 。添加如下方法 [MenuItem(“Assets/Find All Reference”)] public static void ShowWindow() {//Show existing window instance. If one doesn’t exist, make one.EditorWindow.GetWindow(typeof(FindScriptRef)); }这段代码会在菜单中添加一个名为“Find All Reference”的菜单项。选中菜单项会打开一个FindScriptRef窗口实例。当然此时窗口中没有任何内容。 2窗口基本显示逻辑 void OnGUI() {if (Selection.activeObject null){GUILayout.Label(“select a script file from Project Window.”);return;} //判断选中项是否为脚本 var name Selection.activeObject.name; System.Reflection.Assembly assembly System.Reflection.Assembly.GetExecutingAssembly(); var dict System.IO.Path.GetDirectoryName(assembly.Location); assembly System.Reflection.Assembly.LoadFile(System.IO.Path.Combine(dict, Assembly-CSharp.dll)); var selectType assembly.GetType(name); if (string.IsNullOrEmpty(name) || selectType null) {GUILayout.Label(select a script file from Project Window.);return; }GUILayout.BeginVertical(); GUILayout.BeginHorizontal();//列出脚本名称和“Find”按钮 GUILayout.Label(name); bool click GUILayout.Button(Find); GUILayout.EndHorizontal(); GUILayout.Space(10);//列出搜索结果 if (findResult ! null findResult.Count 0) {GUILayout.BeginScrollView(Vector2.zero, GUIStyle.none);foreach (string path in findResult){GUILayout.Label(path);}GUILayout.EndScrollView(); }if (click) {Find(selectType); } GUILayout.EndVertical(); } 然后实现Find方法搜索指定Type的全部引用 void Find(System.Type type){ //step 1:find ref in assets//filter all GameObject from assetsso-called Prefab var guids AssetDatabase.FindAssets(t:GameObject);findResult new Liststring();var tp typeof(GameObject);foreach (var guid in guids) {var path AssetDatabase.GUIDToAssetPath(guid);//load Prefabvar obj AssetDatabase.LoadAssetAtPath(path, tp) as GameObject;//check whether prefab contains script with type typeif (obj ! null){var cmp obj.GetComponent(type);if (cmp null){cmp obj.GetComponentInChildren(type);}if (cmp ! null){findResult.Add(path);}} }//step 2: find ref in scenes//save current scene string curScene EditorApplication.currentScene; EditorApplication.SaveScene();//find all scenes from dataPath string[] scenes Directory.GetFiles(Application.dataPath, *.unity, SearchOption.AllDirectories);//iterates all scenes foreach (var scene in scenes) {EditorApplication.OpenScene(scene);//iterates all gameObjectsforeach (GameObject obj in FindObjectsOfTypeGameObject()){var cmp obj.GetComponent(type);if (cmp null){cmp obj.GetComponentInChildren(type);}if (cmp ! null){findResult.Add(scene.Substring(Application.dataPath.Length) Assets: obj.name);}} }//reopen current scene EditorApplication.OpenScene(curScene); Debug.Log (finish); } 此时切换到Unity在Project窗口选中一个scrpit右键选择『Find All Reference』在打开的窗口选择『Find』按钮即可看到下面列出了所有引用了这个脚本的位置如果项目过于庞大可能需要等待一会儿。 代码下载[FindScriptRef.cs]({{ site.url }}/files/FindScriptRef.cs “FindScriptRef.cs”)
http://www.pierceye.com/news/658921/

相关文章:

  • 一个空间做多个网站wordpress大改动
  • 桂林北站到机场大巴专线时刻表wordpress 分类 标签
  • 自媒体网站源码模板dede重庆永川网站建设报价
  • 国外酷炫网站网页前端设计流程
  • 子午谷网站建设世界杯网页设计素材
  • 关于网站建设申请报告电商网站建设价位
  • 网站评价系统源码wordpress笔记本主题
  • 大庆市建设大厦网站广告设计海报
  • 惠州建设工程交易网站网络营销专业的职业生涯规划
  • 网站页面架构图阿里云的企业网站建设
  • 做微商网站有专门做网站的公司吗
  • 潍坊网站建设方案托管天津建站网
  • 前端如何做双语网站信誉好的唐山网站建设
  • 创建网站目录应注意电子商务类网站设计
  • 哪个网站专做进口商品的企业网站建设的方案ppt
  • 网站结构如何优化wordpress4.7.10漏洞
  • 官方网站举例流量型网站
  • DW个人网站怎么做长沙民企人才网
  • 电脑做网站教学友情链接交易
  • 为什么选php语言做网站重庆网站优化seo公司
  • 仿站侵权吗字体设计图片
  • 王建设医生个人网站智能网站搭建
  • 博物馆网站做的好的山东企业站点seo
  • 网站做视频怎么赚钱的平面设计公司哪家好
  • 合作建设网站协议php 个人网站 源码
  • 广州外贸营销型网站手机网站如何推广
  • 市总工会网站建设经验材料湖州建设局投标网站
  • ftp网站备份网上北京网站制作公司
  • ps海报模板素材免费怎样给网站做关键词优化
  • 做网站套餐wordpress 显示excel