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

做网站卖广告挣几百万有趣软文广告经典案例

做网站卖广告挣几百万,有趣软文广告经典案例,自己做的网站怎么才能在百度上查找,深圳品牌女装加盟目录 1.功能概述 2.完整代码 3. 实现原理 4. 使用预览 5.新增优化版本 在Unity项目开发过程中,管理和维护资源之间的引用关系是至关重要的。当然我们项目也是需要这个功能 毕竟项目大了之后查找资源引用还是交给 资源引用查找器 比较好。 1.功能概述 资源引用…

目录

1.功能概述

2.完整代码

3. 实现原理

4. 使用预览

5.新增优化版本


在Unity项目开发过程中,管理和维护资源之间的引用关系是至关重要的。当然我们项目也是需要这个功能 毕竟项目大了之后查找资源引用还是交给 资源引用查找器 比较好。

1.功能概述

资源引用查找器允许开发者选择一个目标资源,并在整个项目中查找引用了该资源的其他资源。其主要功能包括:

  • 在Unity编辑器菜单栏下添加一个名为"Resource Reference Finder"的菜单项。
  • 提供一个可调整大小的窗口,用于选择目标资源和显示引用结果。
  • 通过点击"Search"按钮来触发搜索过程,查找所有引用了目标资源的Prefab文件,并将结果展示在窗口中。

2.完整代码

using UnityEditor;
using UnityEngine;
using System.Collections.Generic;
using System.IO;public class ResourceReferenceFinder : EditorWindow
{[MenuItem("Assets/Resource Reference Finder")]static void SearchReference(){GetWindow<ResourceReferenceFinder>("Resource Reference Finder");}private static Object targetResource;private List<Object> referencingAssets = new List<Object>();private Vector2 scrollPosition;private void OnGUI(){// 显示资源选择字段和搜索按钮EditorGUILayout.BeginHorizontal();GUILayout.Label("Select Target Resource:", GUILayout.Width(150));targetResource = EditorGUILayout.ObjectField(targetResource, typeof(Object), true, GUILayout.Width(200));if (GUILayout.Button("Search", GUILayout.Width(100))){ReferenceFinder();}EditorGUILayout.EndHorizontal();// 滚动视图开始scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);EditorGUILayout.BeginVertical();// 显示搜索结果for (int i = 0; i < referencingAssets.Count; i++){EditorGUILayout.ObjectField(referencingAssets[i], typeof(Object), true, GUILayout.Width(300));}EditorGUILayout.EndVertical();EditorGUILayout.EndScrollView();// 滚动视图结束}// 查找引用private void ReferenceFinder(){referencingAssets.Clear();// 检查是否选择了资源if (targetResource == null){Debug.LogWarning("Please select a resource to search for references.");return;}// 获取选择资源的 GUIDstring assetPath = AssetDatabase.GetAssetPath(targetResource);string assetGuid = AssetDatabase.AssetPathToGUID(assetPath);// 遍历项目中所有 Prefab 文件string[] guids = AssetDatabase.FindAssets("t:Prefab", new[] { "Assets" });int length = guids.Length;for (int i = 0; i < length; i++){string filePath = AssetDatabase.GUIDToAssetPath(guids[i]);EditorUtility.DisplayCancelableProgressBar("Checking", filePath, (float)i / length);// 读取 Prefab 文件内容,检查是否包含选择资源的 GUIDstring content = File.ReadAllText(filePath);if (content.Contains(assetGuid)){// 如果包含,将该 Prefab 添加到结果列表中Object referencingAsset = AssetDatabase.LoadAssetAtPath(filePath, typeof(Object));referencingAssets.Add(referencingAsset);}}// 清除进度条EditorUtility.ClearProgressBar();}
}

3. 实现原理

  • 使用Unity编辑器提供的MenuItem特性,在菜单栏下添加了一个自定义的菜单项,用于触发资源引用查找器窗口的显示。
  • 创建了一个继承自EditorWindow的窗口类,实现了GUI绘制和资源引用搜索的逻辑。
  • 在GUI中,通过ObjectFieldButton控件实现了目标资源的选择和搜索按钮的功能。
  • 使用AssetDatabase类来访问项目中的资源,并通过FindAssets方法查找所有Prefab文件。
  • 读取Prefab文件的内容,检查是否包含目标资源的GUID,如果是,则将该Prefab添加到引用结果列表中。

4. 使用预览

查找Prefab引用

查找图片引用

5.新增优化版本

新增优化版本右键直接选中需要查找的资源  直接省略繁琐步骤 完整代码如下

using UnityEditor;
using UnityEngine;
using System.Collections.Generic;
using System.IO;public class ResourceReferenceFinder : EditorWindow
{private List<Object> referencingAssets = new List<Object>();private Vector2 scrollPosition;[MenuItem("Assets/ZYT ASSETS/Find References", true)]private static bool ValidateSearchReference(){// 只在选中了对象且不是文件夹时才显示菜单项return Selection.activeObject != null && !AssetDatabase.IsValidFolder(AssetDatabase.GetAssetPath(Selection.activeObject));}[MenuItem("Assets/ZYT ASSETS/Find References")]private static void SearchReference(){// 创建并打开资源引用查找窗口if (Selection.activeObject != null && !AssetDatabase.IsValidFolder(AssetDatabase.GetAssetPath(Selection.activeObject))){GetWindow<ResourceReferenceFinder>("Resource Reference Finder").ReferenceFinder(Selection.activeObject);}}private void OnGUI(){// 显示搜索结果EditorGUILayout.LabelField("Search Results:");// 滚动视图开始scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);EditorGUILayout.BeginVertical();// 显示搜索结果for (int i = 0; i < referencingAssets.Count; i++){EditorGUILayout.ObjectField(referencingAssets[i], typeof(Object), true, GUILayout.Width(300));}EditorGUILayout.EndVertical();EditorGUILayout.EndScrollView();// 滚动视图结束}// 查找引用private void ReferenceFinder(Object targetResource){referencingAssets.Clear();// 获取选择资源的 GUIDstring assetPath = AssetDatabase.GetAssetPath(targetResource);string assetGuid = AssetDatabase.AssetPathToGUID(assetPath);// 遍历项目中所有 Prefab 文件string[] guids = AssetDatabase.FindAssets("t:Prefab", new[] { "Assets" });int length = guids.Length;for (int i = 0; i < length; i++){string filePath = AssetDatabase.GUIDToAssetPath(guids[i]);EditorUtility.DisplayCancelableProgressBar("Checking", filePath, (float)i / length);// 读取 Prefab 文件内容,检查是否包含选择资源的 GUIDstring content = File.ReadAllText(filePath);if (content.Contains(assetGuid)){// 如果包含,将该 Prefab 添加到结果列表中Object referencingAsset = AssetDatabase.LoadAssetAtPath(filePath, typeof(Object));referencingAssets.Add(referencingAsset);}}// 清除进度条EditorUtility.ClearProgressBar();}
}

 使用方法  

如果未选中资源则是如下状况 工具是没法使用的

下图是现在修改后的界面

http://www.dinnco.com/news/30193.html

相关文章:

  • 专门做旅行用品的网站网络推广app
  • 有没有教做熟食的网站百度竞价推广方案的制定
  • 清河哪里做网站长沙优化排名
  • 网站做电源win7优化软件
  • 做网站设计的价格宁波seo企业推广
  • 梅州网站建设梅州我要看今日头条
  • 赣州网站设计哪里好链接提取视频的网站
  • 核工业华南建设工程集团公司网站百度免费优化
  • 技术支持 东莞网站建设洋酒回收网络推广工作好干吗
  • 外贸网站制作时间及费用谷歌关键词排名查询工具
  • wordpress 获取导航栏网站搜索优化排名
  • 深圳的网站建设公司的分类是谷歌应用商店
  • 西安网站公司建设seo报告
  • 聊城专业网站建设杭州专业seo服务公司
  • 成都定制网站建百度爱采购官方网站
  • 成都移动网站建设抖音seo排名
  • 无锡网站建设哪家做得比较好来客seo
  • 自己建网站要什么网站制作软件
  • 网站开发工作程序怎么写360推广联盟
  • 福州网站建设哪家好化学sem是什么意思
  • 海南做网站广州企业网站推广
  • 现在网站都是拿什么软件做的seo提高关键词
  • 动态网站模板下载怎么开展网络营销推广
  • WordPress禁用f12搜索引擎优化方式
  • 杭州网站建设技术东莞网站建设方案报价
  • 电子商务网站优化手机百度一下百度
  • 保定企业自助建站青岛seo杭州厂商
  • 网站制作 价格必应搜索
  • 西宁做网站君博示范在线建站网页制作网站建设平台
  • 网站 建设开发合同模板百度热搜榜排名今日头条