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

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

Table List Attribute特性:用于在检查器中将列表和数组呈现为表。

7643202-bd15b82846af4674.gif
7643202-cceb3d38c04b1c5a.gif
【ShowIndexLabels】设置为True,则为每个元素绘制一个标签,其中显示元素的索引。
7643202-c56c3b33926817ee.png
[TableList(ShowIndexLabels = true)]    public List
TableListWithIndexLabels = new List
(){ new SomeCustomClass(), new SomeCustomClass(),};
【DrawScrollView 】为True,为table添加一个滚动条,并设置滚动条最大高度(MaxScrollViewHeight )和最小高度(MinScrollViewHeight )
7643202-1a0cf3c513e58eb6.gif
[TableList(DrawScrollView = true, MaxScrollViewHeight = 200, MinScrollViewHeight = 100)]    public List
MinMaxScrollViewTable = new List
(){ new SomeCustomClass(), new SomeCustomClass(),};
【ShowPaging】设置为True,则绘制一个翻页的选项 【NumberOfItemsPerPage】则设置每个分页含有的Item数量,默认15个
7643202-90e569cd4c8a2692.gif
[TableList(ShowPaging = true, DrawScrollView = false)]    public List
TableWithPaging = new List
(){ new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(),};
辅助性功能
  • 【IsReadOnly】在检查器中不可修改
  • 【HideToolbar】隐藏翻页等工具
  • 【CellPadding】每个Item及属性的间隔
  • 【ScrollViewHeight】固定滚动条高度
  • 【MinScrollViewHeight】最小滚动条高度
  • 【MaxScrollViewHeight】最大滚动条高度

完整示例代码
using Sirenix.OdinInspector;using System;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class TableListAttributeExample : MonoBehaviour{    [TableList(ShowIndexLabels = true)]    public List
TableListWithIndexLabels = new List
(){ new SomeCustomClass(), new SomeCustomClass(),}; [TableList(DrawScrollView = true, MaxScrollViewHeight = 200, MinScrollViewHeight = 100)] public List
MinMaxScrollViewTable = new List
(){ new SomeCustomClass(), new SomeCustomClass(),}; [TableList(DrawScrollView = false)] public List
AlwaysExpandedTable = new List
(){ new SomeCustomClass(), new SomeCustomClass(),}; [TableList(ShowPaging = true, DrawScrollView = false)] public List
TableWithPaging = new List
(){ new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(), new SomeCustomClass(),}; [Serializable] public class SomeCustomClass { [TableColumnWidth(57, Resizable = false)] [PreviewField(Alignment = ObjectFieldAlignment.Center)] public Texture Icon; [TextArea] public string Description = ExampleHelper.GetString(); [VerticalGroup("Combined Column"), LabelWidth(22)] public string A, B, C; [TableColumnWidth(60)] [Button, VerticalGroup("Actions")] public void Test1() { } [TableColumnWidth(60)] [Button, VerticalGroup("Actions")] public void Test2() { } }}

更多教程内容详见:

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

你可能感兴趣的文章
JAVA操作properties文件的代码实例
查看>>
IPS开发手记【一】
查看>>
Java通用字符处理类
查看>>
文件上传时生成“日期+随机数”式文件名前缀的Java代码
查看>>
Java代码检查工具Checkstyle常见输出结果
查看>>
北京十大情人分手圣地
查看>>
Android自动关机代码
查看>>
Android中启动其他Activity并返回结果
查看>>
2009年33所高校被暂停或被限制招生
查看>>
GlassFish 部署及应用入门
查看>>
X-code7 beta error: warning: Is a directory
查看>>
Error: An App ID with identifier "*****" is not avaliable. Please enter a different string.
查看>>
3.5 YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
查看>>
iOS菜鸟学习--如何避免两个按钮同时响应
查看>>
iOS菜鸟学习—— NSSortDescriptor的使用
查看>>
CORBA links
查看>>
读后感:>
查看>>
如何使用BBC英语学习频道
查看>>
初识xsd
查看>>
java 设计模式-职责型模式
查看>>