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

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

Info Box Attribute:可用于任何属性,并在检查器中在属性上方显示一个文本框。使用它来添加注释或警告使用不同的属性。

【InfoBox】添加不同提示类型的文本框
7643202-3e2a61f5e666b19f.png
[Title("InfoBox message types")]    [InfoBox("Default info box.")]    public int A;    [InfoBox("Warning info box.", InfoMessageType.Warning)]    public int B;    [InfoBox("Error info box.", InfoMessageType.Error)]    public int C;    [InfoBox("Info box without an icon.", InfoMessageType.None)]    public int D;
【visibleIfMemberName】根据条件控制文本显示
7643202-24aa3615aa3b72bd.gif
[InfoBox("This info box is only shown while in editor mode.", InfoMessageType.Error, "IsInEditMode")]    public float G;    private static bool IsInEditMode()    {        return !Application.isPlaying;    }
也可以通过$特殊符号引用相应属性的value作为实参,或者使用@特殊符输入表达式
7643202-9716b1b7c9c89d76.gif
[InfoBox("$InfoBoxMessage")]    [InfoBox("@\"Time: \" + DateTime.Now.ToString(\"HH:mm:ss\")")]    public string InfoBoxMessage = "My dynamic info box message";

示例完整代码

using Sirenix.OdinInspector;using System.Collections;using System.Collections.Generic;using UnityEngine;public class InfoBoxAttributeExample : MonoBehaviour{    [Title("InfoBox message types")]    [InfoBox("Default info box.")]    public int A;    [InfoBox("Warning info box.", InfoMessageType.Warning)]    public int B;    [InfoBox("Error info box.", InfoMessageType.Error)]    public int C;    [InfoBox("Info box without an icon.", InfoMessageType.None)]    public int D;    [Title("有条件的信息框")]    public  bool ToggleInfoBoxes;    [InfoBox("This info box is only shown while in editor mode.", InfoMessageType.Error, "IsInEditMode")]    public float G;    private static bool IsInEditMode()    {        return !Application.isPlaying;    }    [InfoBox("此信息框可由静态字段隐藏.", "ToggleInfoBoxes")]    public float E;    [InfoBox("此信息框可由静态字段隐藏.", "ToggleInfoBoxes")]    public float F;    [InfoBox("$InfoBoxMessage")]    [InfoBox("@\"Time: \" + DateTime.Now.ToString(\"HH:mm:ss\")")]    public string InfoBoxMessage = "My dynamic info box message";}

更多教程内容详见:

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

你可能感兴趣的文章
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
异常 Java学习Day_15
查看>>
Mysql初始化的命令
查看>>
MySQL关键字的些许问题
查看>>
浅谈HTML
查看>>
css基础
查看>>
Servlet进阶和JSP基础
查看>>
servlet中的cookie和session
查看>>
过滤器及JSP九大隐式对象
查看>>
软件(项目)的分层
查看>>
菜单树
查看>>
【Python】学习笔记——-6.2、使用第三方模块
查看>>
【Python】学习笔记——-7.0、面向对象编程
查看>>