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

公司网站建设的好处建材在哪些网站做

公司网站建设的好处,建材在哪些网站做,深圳网红打卡旅游景点,广州建设职业在Unity开发过程中,可能会对旧资源进行批量修改,一个个手动修改费人费事,所以催生出了一堆批量工具。 分享一下在此过程中绘制 Sorting Layer 面板的代码脚本。 示意图: 在 EditorGUI 和 EditorGUILayer 中内置了 SortingLayerF…

在Unity开发过程中,可能会对旧资源进行批量修改,一个个手动修改费人费事,所以催生出了一堆批量工具。

分享一下在此过程中绘制 Sorting Layer 面板的代码脚本。

示意图:

在 EditorGUI 和 EditorGUILayer 中内置了 SortingLayerField 方法,但在外部使用比较麻烦,所以直接获取所有的 SortingLayer 名字,之后在GUI中进行绘制。

在绘制时有两种弹出方式,EditorGUILayout.Popup() 和  EditorGUILayout.DropdownButton(),在使用 EditorGUILayout.DropdownButton() 时需要动态创建 GenericMenu 选项菜单。

GenericMenu的具体用法可以翻阅官方文档。

完整代码:

using UnityEditor;
using UnityEngine;public class SortingLayerEditor : EditorWindow
{ private int _selectIndex = 0;private string[] _sortingLayerNames;private string _currentLog1, _currentLog2;[MenuItem("Tools/SortingLayerEditor")]private static void ShowWindow(){GetWindow<SortingLayerEditor>("SortingLayerEditor");}private void OnEnable(){// 初始化 SortingLayerNames// 如果需要实时获取 SortingLayerNames,请将下列代码放到OnGUI中_sortingLayerNames = new string[SortingLayer.layers.Length];for (var i = 0; i < SortingLayer.layers.Length; i++){_sortingLayerNames[i] = SortingLayer.layers[i].name;}}private void OnGUI(){// 绘制 SortingLayerNames// 方式一GUILayout.Label("方式一:");EditorGUI.BeginChangeCheck();_selectIndex = EditorGUILayout.Popup(new GUIContent("SortingLayer","SortingLayer < 0.0 >"), _selectIndex, _sortingLayerNames);if (EditorGUI.EndChangeCheck()){var layerName = _sortingLayerNames[_selectIndex];_currentLog1 = $"方式一 selectIndex: {_selectIndex}, SortingLayerName: {layerName}, ID:{SortingLayer.NameToID(layerName)}";Debug.Log(_currentLog1);}GUILayout.Space(4);// 方式二GUILayout.Label("方式二:");EditorGUILayout.BeginHorizontal();EditorGUILayout.LabelField(new GUIContent("SortingLayer","SortingLayer < 0.0 >"),GUILayout.Width(148));if (EditorGUILayout.DropdownButton(new GUIContent(_sortingLayerNames[_selectIndex]), FocusType.Passive)){// 动态添加菜单项var menu = new GenericMenu();for (var i = 0; i < _sortingLayerNames.Length; i++){var index = i;// 参数说明// 1. 菜单项的显示内容// 2. 是否选中// 3. 选中事件// 4. 选中事件参数menu.AddItem(new GUIContent(_sortingLayerNames[index]),_selectIndex == index,OnMenuSelected, index);}menu.ShowAsContext();}EditorGUILayout.EndHorizontal();GUILayout.Space(10);GUILayout.Label(_currentLog1);GUILayout.Label(_currentLog2);}/// <summary>/// 菜单项的选中事件 /// </summary>/// <param name="obj">选中事件参数</param>private void OnMenuSelected(object obj){_selectIndex = (int)obj;var layerName = _sortingLayerNames[_selectIndex];_currentLog2 = $"方式二 selectIndex: {_selectIndex}, SortingLayerName: {layerName}, ID:{SortingLayer.NameToID(layerName)}";Debug.Log(_currentLog2);}
}

http://www.dtcms.com/a/408216.html

相关文章:

  • 做销售网站湖北省电力建设三公司网站
  • 上海营销网站建站公司dw安装免费下载
  • 13--MySQL事务管理
  • 微波雷达模块在智能家居中的具体应用案例有哪些?
  • 高手做网站深圳商城网站制作公司
  • 网站目录 自动网站设计学习机构
  • 一个网站上线需要什么百度地图推广怎么做的
  • 大连网络宣传网站做设计英文网站
  • 电子商务网站建设规划课程网站建设目标任务
  • 吴川市规划建设局网站百度关键词快速优化
  • 建一个网站做cpa联盟保亭交通工程建设局网站
  • 鞍山网站设计制作网站wordpress登录qq微信登录界面
  • 自己做视频网站只能用地址连接网页微信版下载不了大文件
  • 小九源码-springboot049-Java物业智慧系统
  • Unity-动画1d混合
  • 网站制作需要多少钱官网wordpress文章幻灯片
  • 网站建设需要哪些技术人员网站建设工作的作用
  • 电商网站怎么做seo通知模板范文
  • 网站建设费入何科目十大免费跨境电商平台
  • 大型门户网站建设哪便宜模板网站怎么修改
  • 基于EasyX的井字棋游戏制作
  • LangChain核心组件之---Chain(链)
  • 网站正在建设中是什么意思百度网站查反链
  • Rust/C/C++ 混合构建 - Cmake集成Cargo编译动态库
  • 松岗网站开发头条热点新闻
  • 如何建设wap网站泉州网站制作多少钱
  • 从转动惯量到惯量张量:深入理解刚体旋转的惯性本质
  • AG-UI协议详解:让智能体与前端无缝对话的事件通信标准
  • 宁波江北区城市建设档案馆网站企业门户网站需求文档
  • 太仓做企业网站网站搭建策略与方法