博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Odin Inspector 系列教程 --- Tab Group Attribute
阅读量:4147 次
发布时间:2019-05-25

本文共 3921 字,大约阅读时间需要 13 分钟。

Tab Group Attribute特性:可用于任何属性,并将属性组织到不同的选项卡中。使用它来组织不同的值,以使清洁检查器变得易于使用。

【TabGroup】创建一个选项卡组 并指定选项卡组的名称
7643202-1a03ebbb339dfdf2.gif
[TabGroup("Tab A")]    public int One;    [TabGroup("Tab A")]    public int Two;    [TabGroup("Tab A")]    public int Three;    [TabGroup("Tab B")]    public string MyString;    [TabGroup("Tab B")]    public float MyFloat;    [TabGroup("Tab C")]    [HideLabel]    public MyTabObject TabC;
也可以为选项卡指定对应的组
[TabGroup("New Group", "Tab A")]    public int A;    [TabGroup("New Group", "Tab A")]    public int B;    [TabGroup("New Group", "Tab A")]    public int C;    [TabGroup("New Group", "Tab B")]    public string D;    [TabGroup("New Group", "Tab B")]    public float E;    [TabGroup("New Group", "Tab C")]    public MyTabObject F;    [Serializable]    public class MyTabObject    {        public int A;        public int B;        public int C;    }
嵌套复杂的情况
7643202-99a1999ccbe91180.gif
[TitleGroup("Tabs")]    [HorizontalGroup("Tabs/Split", Width = 0.5f)]    [TabGroup("Tabs/Split/Parameters", "A")]    public string NameA, NameB, NameC;    [TabGroup("Tabs/Split/Parameters", "B")]    public int ValueA, ValueB, ValueC;    [TabGroup("Tabs/Split/Buttons", "Responsive")]    [ResponsiveButtonGroup("Tabs/Split/Buttons/Responsive/ResponsiveButtons")]    public void Hello() { }    [ResponsiveButtonGroup("Tabs/Split/Buttons/Responsive/ResponsiveButtons")]    public void World() { }    [ResponsiveButtonGroup("Tabs/Split/Buttons/Responsive/ResponsiveButtons")]    public void And() { }    [ResponsiveButtonGroup("Tabs/Split/Buttons/Responsive/ResponsiveButtons")]    public void Such() { }    [Button]    [TabGroup("Tabs/Split/Buttons", "More Tabs")]    [TabGroup("Tabs/Split/Buttons/More Tabs/SubTabGroup", "A")]    public void SubButtonA() { }    [Button]    [TabGroup("Tabs/Split/Buttons/More Tabs/SubTabGroup", "A")]    public void SubButtonB() { }    [Button(ButtonSizes.Gigantic)]    [TabGroup("Tabs/Split/Buttons/More Tabs/SubTabGroup", "B")]    public void SubButtonC() { }

完整示例代码
using Sirenix.OdinInspector;using System;using UnityEngine;public class TabGroupAttributeExample : MonoBehaviour{    [TabGroup("Tab A")]    public int One;    [TabGroup("Tab A")]    public int Two;    [TabGroup("Tab A")]    public int Three;    [TabGroup("Tab B")]    public string MyString;    [TabGroup("Tab B")]    public float MyFloat;    [TabGroup("Tab C")]    [HideLabel]    public MyTabObject TabC;    [TabGroup("New Group", "Tab A")]    public int A;    [TabGroup("New Group", "Tab A")]    public int B;    [TabGroup("New Group", "Tab A")]    public int C;    [TabGroup("New Group", "Tab B")]    public string D;    [TabGroup("New Group", "Tab B")]    public float E;    [TabGroup("New Group", "Tab C")]    public MyTabObject F;    [Serializable]    public class MyTabObject    {        public int A;        public int B;        public int C;    }    [TitleGroup("Tabs")]    [HorizontalGroup("Tabs/Split", Width = 0.5f)]    [TabGroup("Tabs/Split/Parameters", "A")]    public string NameA, NameB, NameC;    [TabGroup("Tabs/Split/Parameters", "B")]    public int ValueA, ValueB, ValueC;    [TabGroup("Tabs/Split/Buttons", "Responsive")]    [ResponsiveButtonGroup("Tabs/Split/Buttons/Responsive/ResponsiveButtons")]    public void Hello() { }    [ResponsiveButtonGroup("Tabs/Split/Buttons/Responsive/ResponsiveButtons")]    public void World() { }    [ResponsiveButtonGroup("Tabs/Split/Buttons/Responsive/ResponsiveButtons")]    public void And() { }    [ResponsiveButtonGroup("Tabs/Split/Buttons/Responsive/ResponsiveButtons")]    public void Such() { }    [Button]    [TabGroup("Tabs/Split/Buttons", "More Tabs")]    [TabGroup("Tabs/Split/Buttons/More Tabs/SubTabGroup", "A")]    public void SubButtonA() { }    [Button]    [TabGroup("Tabs/Split/Buttons/More Tabs/SubTabGroup", "A")]    public void SubButtonB() { }    [Button(ButtonSizes.Gigantic)]    [TabGroup("Tabs/Split/Buttons/More Tabs/SubTabGroup", "B")]    public void SubButtonC() { }}

更多教程内容详见:

转载地址:http://qijti.baihongyu.com/

你可能感兴趣的文章
Ubuntu系统上安装Nginx服务器的简单方法
查看>>
Ubuntu Linux系统下apt-get命令详解
查看>>
ubuntu 16.04 下重置 MySQL 5.7 的密码(忘记密码)
查看>>
Ubuntu Navicat for MySQL安装以及破解方案
查看>>
HTTPS那些事 用java实现HTTPS工作原理
查看>>
oracle函数trunc的使用
查看>>
MySQL 存储过程或者函数中传参数实现where id in(1,2,3,...)IN条件拼接
查看>>
java反编译
查看>>
Class.forName( )你搞懂了吗?——转
查看>>
jarFile
查看>>
EJB3.0定时发送jms(发布/定阅)方式
查看>>
EJB与JAVA BEAN_J2EE的异步消息机制
查看>>
数学等于号是=那三个横杠是什么符
查看>>
HTTP协议详解
查看>>
java多线程中的join方法详解
查看>>
ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源
查看>>
java abstract修饰符
查看>>
数组分为两部分,使得其和相差最小
查看>>
java抽象类和接口
查看>>
有趣的排序——百度2017春招
查看>>