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

制造动漫网站开发目的代发百度首页排名

制造动漫网站开发目的,代发百度首页排名,网监要求网站备案,天津建设工程信息网电脑版登录目录 需求描述上代码打个赏吧 需求描述 现在有这样一个需求: 在Hierarchy面板的对象上绘制按钮点击按钮,弹出菜单再点击菜单项目响应自定义操作在这里的响应主要是复制对象层级路路径 看具体效果请看动图: 注: 核心是对Edito…

目录

  • 需求描述
  • 上代码
  • 打个赏吧

需求描述

现在有这样一个需求:

  • 在Hierarchy面板的对象上绘制按钮
  • 点击按钮,弹出菜单
  • 再点击菜单项目响应自定义操作
  • 在这里的响应主要是复制对象层级路路径
    看具体效果请看动图:
    请添加图片描述

注:

  • 核心是对EditorApplication.hierarchyWindowItemOnGUI委托的实现
  • 其它需求,可参考实现
  • 如是要要Project面板实现类似的功能:可以参考实现EditorApplication.hierarchyWindowItemOnGUI委托

上代码

/*********************************************** @author: anyuanlzh* @date: 2023-05-18* @des:  "Hierarchy面板"工具***********************************************/using System.Collections.Generic;
using UnityEditor;
using UnityEngine;[InitializeOnLoad]
public class HierarchyTabTool
{// 静态构造函数static HierarchyTabTool(){EditorApplication.hierarchyWindowItemOnGUI += HierarchyWindowItemOnGUI;}private static void HierarchyWindowItemOnGUI(int instanceId, Rect selectionRect){var obj = EditorUtility.InstanceIDToObject(instanceId) as GameObject;if (obj == null)return;GameObject selectedObjs = Selection.activeGameObject;if(obj!=selectedObjs)return;selectionRect.x += selectionRect.width - 60;selectionRect.y += 0;selectionRect.width = 60f;GUIStyle fontStyle = new GUIStyle(GUI.skin.button);fontStyle.alignment=TextAnchor.MiddleCenter;fontStyle.fontSize=10;fontStyle.normal.textColor=Color.yellow;//点击事件if (GUI.Button(selectionRect, "复制层级", fontStyle)){// Debug.Log($"click: {Selection.activeObject.name}");// 弹出菜单Vector2 mousePosition = Event.current.mousePosition;Rect position = new Rect(mousePosition.x, mousePosition.y+7, 0, 0);EditorUtility.DisplayPopupMenu(position, "GameObject/1_复制层级路径", null);}}// 防止一次点击响应多次private static float _last_call_time = 0;private static float minInterval_time = 0.5f;[MenuItem("GameObject/1_复制层级路径/A点~B点", false, 40)]private static void GetHierarchyPath2(){if (Time.time - _last_call_time<minInterval_time){return;}_last_call_time = Time.time;GameObject[] selectedObjs = Selection.gameObjects;//Debug.Log(selectedObjs.Length);if (selectedObjs.Length == 1){Copy_HierarchyPath_root2target();return;}else if (selectedObjs.Length < 2){Debug.Log("请选择一个或二个有包含关系对象");return;}Transform first = selectedObjs[0].transform;Transform last = selectedObjs[selectedObjs.Length-1].transform;// Debug.Log($"first.name:{first.name} last.name:{last.name}");Transform a = null;Transform b = null;if (EditorUtils.IsAncestor(first, last)){a = first;b = last;}else if (EditorUtils.IsAncestor(last, first)){a = last;b = first;}else{Debug.LogError("请选择有包含关系的二个对象");return;}List<string> names = new List<string>();while (b!=null){if (a == b){names.Insert(0,b.name);break;}names.Insert(0, b.name);b = b.parent;}string path = "";for (int i = 0; i < names.Count-1; i++){path += names[i] + "/";}path += names[^1];GUIUtility.systemCopyBuffer = path;Debug.Log("对象层次路径 A点到B点: " + path);}[MenuItem("GameObject/1_复制层级路径/根0~目标", false, 40)]private static void Copy_HierarchyPath_root0target(){Copy_HierarchyPath_rootN2target(0);}[MenuItem("GameObject/1_复制层级路径/根1~目标", false, 40)]private static void Copy_HierarchyPath_root1target(){Copy_HierarchyPath_rootN2target(1);}[MenuItem("GameObject/1_复制层级路径/根2~目标", false, 40)]private static void Copy_HierarchyPath_root2target(){Copy_HierarchyPath_rootN2target(2);}[MenuItem("GameObject/1_复制层级路径/根3~目标", false, 40)]private static void Copy_HierarchyPath_root3target(){Copy_HierarchyPath_rootN2target(3);}// 从根0的第N级到目标// rootN从零开static void Copy_HierarchyPath_rootN2target(int rootN){if (Time.time - _last_call_time<minInterval_time){return;}_last_call_time = Time.time;if (Selection.count != 1){Debug.LogError($"Copy_HierarchyPath_rootN2target: 请选择一个对象");return;}Transform target = Selection.activeGameObject.transform;List<string> names = new List<string>();Transform parent = target.transform.parent;while (target != null){names.Insert(0, target.name);target = target.parent;}if (names.Count - 1 < rootN){Debug.LogError($"Copy_HierarchyPath_rootN2target: N:{rootN}大于目标对象的深度");return;}string path = "";for (int i = rootN; i < names.Count-1; i++){path += names[i] + "/";}path += names[^1];GUIUtility.systemCopyBuffer = path;Debug.Log($"对象层次路径 root_{rootN}到target:" + path);}
}

打个赏吧

请添加图片描述

http://www.zhongyajixie.com/news/63794.html

相关文章:

  • 中国做的电脑系统下载网站好谷歌seo网站建设
  • 北京网站制作哪家好爱站工具包的主要功能
  • 网林时代网站建设泰州百度seo公司
  • 专业做室内设计的网站有哪些优化大师专业版
  • 网页设计代码实战seo怎么优化关键词排名培训
  • 义乌婚介网站建设谁有推荐的网址
  • 购物网站模板代码下载上海百度移动关键词排名优化
  • 烟台网站建设设计网络推广公司经营范围
  • 劫持网站挂广告是个人做的吗网络营销好不好
  • 赤峰网站制作公司百度广告联盟平台
  • 开发网站用那个平台快速排名生客seo
  • 专业定制网站开发关键词优化好
  • 网站建设电子书优化设计六年级下册数学答案
  • 赣州做公司网站免费搜索引擎推广方法有哪些
  • 广州荔湾网站建设培训机构哪家好
  • 基金会网站建设方案关键词排名哪里查
  • 百度做网站审核要多久香港疫情最新消息
  • 开发网址seo推广的网站和平台有哪些
  • 做网站Linux手机优化大师下载2022
  • 搭建一个网站需要什么百度代运营公司
  • python基础教程作者宁波优化推广选哪家
  • 购物网站建设公司佛山本地网站建设
  • 平台类网站建设价格表精准推广
  • 做卷皮网类似网站优化关键词排名公司
  • 四平网站设计公司拉新工作室在哪里接项目
  • python做网站稳定吗百度seo关键词排名 s
  • 网站移动端做pc端的301跳转新闻发稿平台有哪些
  • app 网站 优势站长工具seo优化
  • 前端页面模板搜索引擎seo推广
  • 根据百度地图做网站百度手机助手下载2021新版