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

有做教育行业的招聘网站吗做网站背景图片要多大

有做教育行业的招聘网站吗,做网站背景图片要多大,建网站的公司哪里有,网站备案成功后具体流程#xff1a; 找到工程中使用到的所有字体找到工程和场景中包含Text的所有对象展示要替换的字体名字让用户选择通过用户选择的字体#xff0c;展示响应的物体对象一键替换 通过AssetDatabase.FindAssets找到工程中包含的所有字体#xff1a; private Liststrin…具体流程 找到工程中使用到的所有字体找到工程和场景中包含Text的所有对象展示要替换的字体名字让用户选择通过用户选择的字体展示响应的物体对象一键替换 通过AssetDatabase.FindAssets找到工程中包含的所有字体 private Liststring FindAllFonts(){Liststring list new Liststring();// 获取所有字体文件string[] fontGUIDs AssetDatabase.FindAssets(t:Font);foreach (string fontGUID in fontGUIDs){string fontPath AssetDatabase.GUIDToAssetPath(fontGUID);Font font AssetDatabase.LoadAssetAtPathFont(fontPath);list.Add(font.name);}list.Add(Arial);//默认字体添加进去return list;} 通过AssetDatabase.FindAssets找到工程中的所有预制体 private ListGameObject GetAllPrefabByAssetDatabase(params string[] path){ListGameObject _prefabList new ListGameObject();string[] _guids AssetDatabase.FindAssets(t:Prefab, path);string _prefabPath ;GameObject _prefab;foreach (var _guid in _guids){_prefabPath AssetDatabase.GUIDToAssetPath(_guid);_prefab AssetDatabase.LoadAssetAtPath(_prefabPath, typeof(GameObject)) as GameObject;_prefabList.Add(_prefab);} #if UNITY_2020_1_OR_NEWERText[] texts GameObject.FindObjectsOfTypeText(true);foreach (var text in texts){_prefabList.Add(text.gameObject);} #elseScene activeScene EditorSceneManager.GetActiveScene();GameObject[] allObjectsInScene activeScene.GetRootGameObjects();foreach (var obj in allObjectsInScene){Text[] texts obj.GetComponentsInChildrenText(true);foreach (var text in texts){_prefabList.Add(text.gameObject);}} #endifreturn _prefabList;} 过滤没有含Text组件的对象 private ListGameObject FilterNoTextPrefabs(){ListGameObject templist new ListGameObject();Dic_Font_Prefabs.Clear();foreach (var prefab in prefabs){Text[] texts prefab.GetComponentsInChildrenText(true);if (texts.Length ! 0){foreach (var text in texts){if (text.font ! null){if (!Dic_Font_Prefabs.ContainsKey(text.font.name)){Dic_Font_Prefabs.Add(text.font.name, new ListGameObject());//根据Font类型添加一个Text集合到字典中}if (!Dic_Font_Prefabs[text.font.name].Contains(prefab)){Dic_Font_Prefabs[text.font.name].Add(prefab);}if (!templist.Contains(prefab)){templist.Add(prefab);//包含该Text的预制体添加到集合中}}}}}return templist;} 最后用户选择完要替换的字体选择开始替换即可。 TextMeshPro跟Text是一个道理只需要把代码中响应的Text和Font改为TextMeshProGUI和FontAssets即可。 最后附上完整代码 using System.Collections.Generic; using UnityEngine; using UnityEditor; using UnityEditorInternal; using UnityEngine.UI; using System.Linq; using UnityEditor.SceneManagement; using UnityEngine.SceneManagement; /// summary /// 查找替换工程场景中Text的Font /// /summary public class ChangePrefabFont : EditorWindow {[MenuItem(Tools/替换字体/Text)]//入口static void GetWindow()//静态函数{//创建窗口ChangePrefabFont window EditorWindow.GetWindowChangePrefabFont(Text字体替换窗口);//生成一个unity窗口弹窗window.Show();//展示OnGUI中的界面显示}#region 属性/// summary/// 工程中包含的字体的名字/// /summaryListstring fontsOnAssets new Liststring();/// summary/// 对应字体是否需要替换/// /summaryListbool textPaidFontRelpace new Listbool();/// summary/// 代替要替换的字体的字体/// /summaryListFont textReplaceFonts new ListFont();/// summary/// 预制体集合/// /summaryListGameObject prefabs new ListGameObject();/// summary/// 根据字体类型分类的预制体对象/// /summaryDictionarystring, ListGameObject Dic_Font_Prefabs new Dictionarystring, ListGameObject();#endregionprivate void OnEnable(){InitFont();}private void OnGUI(){InitPrefabs();#region 显示替换选项EditorGUILayout.LabelField(下面是工程中包含的字体和工程中场景中的对象使用的字体情况。请选择要替换的字体);for (int i 0; i fontsOnAssets.Count; i){EditorGUILayout.BeginHorizontal();EditorGUILayout.LabelField($更换[{fontsOnAssets[i]}]字体);textPaidFontRelpace[i] EditorGUILayout.Toggle(textPaidFontRelpace[i], GUILayout.Width(position.width));//是否要替换当前字体的复选框EditorGUILayout.EndHorizontal();EditorGUILayout.BeginHorizontal();EditorGUILayout.LabelField($ 预制体数量{GetGetUseFontPrefabCount(fontsOnAssets[i])});if (!textPaidFontRelpace[i]){if (Dic_Font_Prefabs.ContainsKey(fontsOnAssets[i])){foreach (var item in Dic_Font_Prefabs[fontsOnAssets[i]]){if (prefabs.Contains(item)){prefabs.Remove(item);}}}}else{EditorGUILayout.LabelField($代替【{fontsOnAssets[i]}】的字体);textReplaceFonts[i] (Font)EditorGUILayout.ObjectField(textReplaceFonts[i], typeof(Font), true);//代替的字体复选框if (Dic_Font_Prefabs.ContainsKey(fontsOnAssets[i])){foreach (var item in Dic_Font_Prefabs[fontsOnAssets[i]]){if (!prefabs.Contains(item)){prefabs.Add(item);}}}}EditorGUILayout.EndHorizontal();}EditorGUILayout.Space();#endregion#region 开始替换操作if (GUILayout.Button(开始替换)){if (textReplaceFonts null || textReplaceFonts.Count 0){EditorUtility.DisplayDialog(提示, 没有字体, 确定);return;}if (prefabs null || prefabs.Count 0){EditorUtility.DisplayDialog(提示, 没有需要替换的对象, 确定);return;}ListGameObject ReplaceGo new ListGameObject();Dictionarystring, Font Dic_Font_ReplaceFont new Dictionarystring, Font();for (int i 0; i textPaidFontRelpace.Count; i){if (textPaidFontRelpace[i] true){if (textReplaceFonts[i] ! null){if (Dic_Font_Prefabs.ContainsKey(fontsOnAssets[i])){ReplaceGo.AddRange(Dic_Font_Prefabs[fontsOnAssets[i]]);Dic_Font_ReplaceFont.Add(fontsOnAssets[i], textReplaceFonts[i]);}else{EditorUtility.DisplayDialog(提示, $使用了【{fontsOnAssets[i]}】字体的预制体数量为0, 确定);}}else{EditorUtility.DisplayDialog(提示, $【{fontsOnAssets[i]}】的替代字体为空, 确定);}}}if (ReplaceGo.Count 0){EditorUtility.DisplayDialog(提示, 没有需要替换的对象, 确定);}else{string hintInfo ;foreach (var font in Dic_Font_ReplaceFont){hintInfo ${font.Key} {font.Value.name}\n;}if (EditorUtility.DisplayDialog(确认进行下面的替换, hintInfo, 确定, 取消)){foreach (var font in Dic_Font_ReplaceFont){ReplaceFont(Dic_Font_Prefabs[font.Key], font.Key, font.Value);}SaveChangedToAsset(prefabs);}}}#endregion#region 预制体列表InitReorderableList();if (reorderableList ! null reorderableList.count ! 0){scrollPos EditorGUILayout.BeginScrollView(scrollPos);reorderableList.DoLayoutList();EditorGUILayout.EndScrollView();}else{EditorGUILayout.LabelField(提示没有需要替换字体的预制体);}#endregion}#region 列表和滚动窗口ReorderableList reorderableList;//列表显示Vector2 scrollPos;//滚动窗口需要private void DrawHeader(Rect rect){EditorGUI.LabelField(rect, 对象列表数量 prefabs.Count);}private void DrawElement(Rect rect, int index, bool isActive, bool isFocused){rect.height - 4;rect.y 2;prefabs[index] (GameObject)EditorGUI.ObjectField(rect, 包含Text的对象, prefabs[index], typeof(GameObject), true);}private void AddItem(ReorderableList list){prefabs.Add(null);}#endregion#region 逻辑方法/// summary/// 字体相关初始化/// /summaryprivate void InitFont(){textPaidFontRelpace.Clear();textReplaceFonts.Clear();fontsOnAssets FindAllFonts();foreach (var item in fontsOnAssets){textPaidFontRelpace.Add(false);textReplaceFonts.Add(null);}}/// summary/// 预制体相关初始化/// /summaryprivate void InitPrefabs(){prefabs GetAllPrefabByAssetDatabase();prefabs FilterNoTextPrefabs();prefabs.Clear();foreach (var item in Dic_Font_Prefabs){prefabs.AddRange(item.Value);}}/// summary/// 初始化链表操作对象/// /summaryprivate void InitReorderableList(){prefabs prefabs.Distinct().ToList();reorderableList new ReorderableList(prefabs, typeof(GameObject), true, true, true, true);reorderableList.drawHeaderCallback DrawHeader;reorderableList.drawElementCallback DrawElement;reorderableList.onAddCallback AddItem;}#endregion#region 功能方法#region 查找和过滤/// summary/// 找到工程和场景中的含有Text组件的对象/// /summary/// param namepath/param/// returns/returnsprivate ListGameObject GetAllPrefabByAssetDatabase(params string[] path){ListGameObject _prefabList new ListGameObject();string[] _guids AssetDatabase.FindAssets(t:Prefab, path);string _prefabPath ;GameObject _prefab;foreach (var _guid in _guids){_prefabPath AssetDatabase.GUIDToAssetPath(_guid);_prefab AssetDatabase.LoadAssetAtPath(_prefabPath, typeof(GameObject)) as GameObject;_prefabList.Add(_prefab);} #if UNITY_2020_1_OR_NEWERText[] texts GameObject.FindObjectsOfTypeText(true);foreach (var text in texts){_prefabList.Add(text.gameObject);} #elseScene activeScene EditorSceneManager.GetActiveScene();GameObject[] allObjectsInScene activeScene.GetRootGameObjects();foreach (var obj in allObjectsInScene){Text[] texts obj.GetComponentsInChildrenText(true);foreach (var text in texts){_prefabList.Add(text.gameObject);}} #endifreturn _prefabList;}/// summary/// 过滤没有包含Text的预制体/// 过滤没有包含付费字体的预制体/// 根据Text类型分类/// /summary/// param namegameObjects/param/// returns/returnsprivate ListGameObject FilterNoTextPrefabs(){ListGameObject templist new ListGameObject();Dic_Font_Prefabs.Clear();foreach (var prefab in prefabs){Text[] texts prefab.GetComponentsInChildrenText(true);if (texts.Length ! 0){foreach (var text in texts){if (text.font ! null){if (!Dic_Font_Prefabs.ContainsKey(text.font.name)){Dic_Font_Prefabs.Add(text.font.name, new ListGameObject());//根据Font类型添加一个Text集合到字典中}if (!Dic_Font_Prefabs[text.font.name].Contains(prefab)){Dic_Font_Prefabs[text.font.name].Add(prefab);}if (!templist.Contains(prefab)){templist.Add(prefab);//包含该Text的预制体添加到集合中}}}}}return templist;}/// summary/// 找到工程中的所有字体文件/// /summary/// returns返回字体名称列表/returnsprivate Liststring FindAllFonts(){Liststring list new Liststring();// 获取所有字体文件string[] fontGUIDs AssetDatabase.FindAssets(t:Font);foreach (string fontGUID in fontGUIDs){string fontPath AssetDatabase.GUIDToAssetPath(fontGUID);Font font AssetDatabase.LoadAssetAtPathFont(fontPath);list.Add(font.name);}list.Add(Arial);//默认字体添加进去return list;}#endregion#region 替换字体方法/// summary/// 替换Text的字体/// /summary/// param nametexts要替换的Text集合/param/// param namefontName要替换的字体的名字/param/// param namefont用来替换的字体/paramprivate void ReplaceFont(ListGameObject gameObjects, string fontName, Font font){foreach (var go in gameObjects){Text[] texts go.GetComponentsInChildrenText(true);foreach (var text in texts){if (text.font ! null){if (text.font.name fontName){text.font font;}}//else//{// text.font Resources.GetBuiltinResourceFont(Arial.ttf);//}}}}/// summary/// 保存更改/// /summary/// param namegameObjects/paramprivate void SaveChangedToAsset(ListGameObject gameObjects){foreach (var gameObject in gameObjects){EditorUtility.SetDirty(gameObject);}AssetDatabase.SaveAssets();AssetDatabase.Refresh();EditorUtility.DisplayDialog(提示, 替换完毕, 确定);}#endregionprivate ListGameObject GetUseFontPrefabs(string font){if (Dic_Font_Prefabs.ContainsKey(font))return Dic_Font_Prefabs[font];elsereturn null;}private int GetGetUseFontPrefabCount(string font){ListGameObject temp GetUseFontPrefabs(font);return temp null ? 0 : temp.Count;}#endregion }
http://www.w-s-a.com/news/739068/

相关文章:

  • jsp体育用品网站建设wordpress 10万篇文章
  • 沈阳做微信和网站的公司网站在线支付接口
  • 重庆整合网络营销百度seo快速提升排名
  • 设计师网站外网百度分析工具
  • 旅游网站建设技术解决方案wordpress主题安装后找不到
  • 网站图片文字排版错误管理系统界面设计
  • 网站建设 台州广州惠科互联网技术有限公司
  • 网站页面尺寸大小四川鸿业建设集团网站
  • 做女朋友的网站局网站建设方案word
  • 做阿里国际网站会有成效吗科技网站有哪些
  • 高端公司网站建设北京两学一做网站
  • 黄埔网站建设设计wordpress 文件夹改名
  • 怎么什么软件可以吧做网站最火的二十个电商app
  • wordpress theme sage网站seo优化加推广
  • 建设一个大型电影网站公司网站建设工作总结
  • 传奇网站一般怎么做的宇泽佛山网站建设
  • google网站入口电商运营十大基础知识
  • 建设公司网站的细节中国建设网网站
  • 重庆美邦建网站宝安网页设计
  • 建网站的地址十堰做网站
  • 怎么评判一个网站做的好与坏专做情侣装网站
  • 网站管理助手v3历史上的今天 网站如何做
  • 网站建设与管理的就业方向网站开发前端模板
  • 对网站建设的维护深圳网络推广推荐
  • wordpress多站共享授权码wordpress数据库缓存插件
  • 建一个购物网站多少钱上海商标注册
  • 琪觅公司网站开发面点培训学校哪里有
  • 北京建设工程信息网站江苏企业网站建设
  • php电子商务网站建设wordpress新建的页面如何加xml
  • 去百度建网站外贸业务推广