赞
踩
其中包含
等参数,
在使用时发现有些需要注意的事项,在此做个笔记
首先需要注意,UnityEditor的文件只有在面板中Editor的文件夹下,才有用。
下面上代码
// 编辑器命名空间的引用 using UnityEditor; using Boo.Lang;//列表的命名空间 public class EditorTest_FoldOut : EditorWindow // 继承编译器窗口类 { //注意,需要声明 公有变量,否则 无法通过 鼠标点击 展开关闭菜单 //private static bool foldout=false;//单个菜单直接声明一个变量即可 private static List <bool> foldout=new List<bool>(); // 折叠菜单(多个菜单可以使用List 方便增删) // 在编辑器中添加一个菜单 [MenuItem("编译器扩展/打开一个窗口")] private static void CreateWindow() // 编译器 方法 需 静态,否则无用 { //新增时 记得先添加 后赋值 //每次点击打开菜单 则创建多一条消息 foldout.Add(false); // 在这里面创建窗口 EditorWindow.GetWindow(typeof(EditorTest_FoldOut), false, "表头的名字", true); } void OnGUI() { for (int i = 0; i < foldout.Count; i++) { foldout[i] = EditorGUILayout.Foldout(foldout[i], "名字" + i); // 注意Foldout第一个参数是个输出参数,只有经过了这个定位,才可被赋值于框内 if (foldout[i]) { EditorGUILayout.HelpBox("消息内容"+i, GetMessageType(i)); // 显示一个提示框MessageType. None Info Warning Error } } } /// <summary> /// 获取MessageType /// </summary> /// <param name="i">限制</param> /// <returns></returns> public MessageType GetMessageType(int i) { switch (i % 4) { case 0: return MessageType.None; case 1: return MessageType.Info; case 2: return MessageType.Warning; case 3: return MessageType.Error; default: return MessageType.None; } } }
HelpBox的提示,关于MessageType 的四种状态,提示效果不同
具体效果如下:
注意在使用时 声明一定要在赋值前,
声明bool变量需要为公有变量,否则无法通过点击 来运用展开折叠
void OnGUI()
{
bool errorDemonstration = true;//如此声明 将会导致无法修改bool状态 而导致无法收拢
errorDemonstration = EditorGUILayout.Foldout(errorDemonstration, "错误示范");
if(errorDemonstration)
{
EditorGUILayout.HelpBox("无法收拢的", MessageType.Error);
}
}
该代码虽然也会生成带有下拉箭头的文字
但是却点不了(切记需要公有变量)
以上就是一点小小的心得分享,
如有缺漏或谬误 欢迎各位大佬多多指教。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。