OdinMenuEditorWindow
命名空间: Sirenix.OdinInspector.Editor
public abstract class OdinMenuEditorWindow : OdinEditorWindow, ISerializationCallbackReceiver
绘制带有菜单树的编辑器窗口。
例子:
protected override OdinMenuTree BuildMenuTree()
{
OdinMenuTree tree = new OdinMenuTree();
tree.Config.DrawSearchToolbar = true;
tree.Add("整包构建", new PackageBuilderEditor());
tree.Add("热更构建", new PatchBuilderEditor());
return tree;
}
表示有2个页签,整包构建/热更构建,分别是PackageBuilderEditor
,PatchBuilderEditor
实现各自界面的渲染处理逻辑
OdinEditorWindow
命名空间:Sirenix.OdinInspector.Editor
[ShowOdinSerializedPropertiesInInspector]
public class OdinEditorWindow : EditorWindow, ISerializationCallbackReceiver
使用 Odin 创建编辑器窗口的基类。
例子:
public class SomeWindow : OdinEditorWindow
{
[MenuItem("My Game/Some Window")]
private static void OpenWindow()
{
GetWindow<SomeWindow>().Show();
}
}
表示一个窗口,但是里面上面都没有
特性
InfoBox
[InfoBox("参数请认真选择,不要选错!", InfoMessageType.Info)]
类似[Header("xxx")]
,解释文本
LabelText
[LabelText("平台")]
让原本序列号的变量,用中文描述
EnableIf
[EnableIf("buildPlatform", EBuildPlatform.Windows)]
如果满足params1==params2的条件,则enable状态,否则disabled。DisableIf
同理
PropertySpace
[PropertySpace(20)]
和Space
具有相同的功能
ReadOnly
[ReadOnly]
只读
ShowIf
[ShowIf("tmpPatchArray")]
当满足条件时,显示
OnValueChanged
[OnValueChanged("OnCurPageIndexChanged")]
当数值发生变化时调用params1方法*如果是代码赋值修改则不生效!
Button
[Button("开始构建 (并保存配置)", ButtonSizes.Large, ButtonStyle.Box)]
public void Build() {
...
}
会生成一个按钮,点击后运行某方法
ButtonGroup
[ButtonGroup]
让多个Button
一排展示
FilePath
[FilePath(ParentFolder = "Assets", Extensions = "txt")]
public string localPatchFile;
这个string类型的变量是由手动选择Assets目录下的txt文件的路径赋值