【发布时间】:2015-09-02 13:08:44
【问题描述】:
对于 Unity3D 编辑器脚本,是否可以通过编程将 EditorGUI.Foldouts 设置为关闭或打开状态?我希望在用户第一次选择游戏对象时打开我的脚本的相关折叠页。
同样,我想默认关闭几个折叠,这样它们就不会占用组件窗格中的空间,例如在脚本运行时动态添加的 RectTransform 和 RawImage 的折叠。
【问题讨论】:
对于 Unity3D 编辑器脚本,是否可以通过编程将 EditorGUI.Foldouts 设置为关闭或打开状态?我希望在用户第一次选择游戏对象时打开我的脚本的相关折叠页。
同样,我想默认关闭几个折叠,这样它们就不会占用组件窗格中的空间,例如在脚本运行时动态添加的 RectTransform 和 RawImage 的折叠。
【问题讨论】:
EditorGUI.Foldout 第二个参数是bool
您可以将该布尔值设置为您认为合适的打开或关闭。您不需要使用从它返回的相同布尔值。或者您可以在该行之前或之后修改它的值
如
bool fold;
fold = SomeLogicFunction();
EditorGUI.Foldout(rect,fold,"Folder");
或
bool fold;
fold = EditorGUI.Foldout(rect,fold,"Folder");
fold = fold && SomeLogicFunction();
或
string name = "none";
if(selectedGameObject != null)
name = selectedGameObject.name;
EditorGUI.Foldout(rect,selectedGameObject != null,name);
仅供参考。 FoldOut 实际上只是切换该行的箭头。你是决定当它返回真时,你会在它下面画什么的人
【讨论】: