Odin Attributes 大全之 Essentials 系列 | (28)Detailed Info Box 特性

📂 Unity常用插件 | 总目录

📂 Unity 3D资源 | 目录索引

Odin Attributes 为Unity开发者提供了更多的自定义选项,使得开发过程更加高效和愉悦。通过使用这些特性,开发者可以创建更加专业和用户友好的编辑器界面,从而提升整个开发团队的工作效率。

在这里插入图片描述

【Odin Inspector and Serializer 最新版 (0积分)免费下载


Detailed Info Box 特性用于任何属性,并显示一个消息框,可以展开该消息框以显示更多详细信息。 使用它向用户传达消息,并为他们提供查看更多详细信息的选项。

不同形式的消息框

    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True,所以此消息框可见", InfoMessageType = InfoMessageType.None)]
    public string NoneMessage = "无";
    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True,所以此消息框可见", InfoMessageType = InfoMessageType.Info)]
    public string InfoMessage = "无";
    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True,所以此消息框可见", InfoMessageType = InfoMessageType.Warning)]
    public string WarningMessage = "无";
    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True,所以此消息框可见", InfoMessageType = InfoMessageType.Error)]
    public string ErrorMessage = "无";

在这里插入图片描述

还可以通过一个方法的返回值(bool)来控制消息框是否显示,例如在这个函数中判断此字段是否为null,如果为null在出现弹窗提示等。

    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True。" +
        "所以此消息框可见.还可以通过一个方法的返回值(bool)来控制消息框是否显示," +
        "例如在这个函数中判断此字段是否为null,如果为null在出现弹窗提示等。", 
        InfoMessageType = InfoMessageType.None, VisibleIf = "VisibleFunction")]
    public string haveVisibleIfMessage = "";

    [DetailedInfoBox("简介消息", "还可以通过一个方法的返回值(bool)来控制消息框是否显示,例如在这个函数中判断此字段是否为null,如果为null在出现弹窗提示等。", InfoMessageType = InfoMessageType.None, VisibleIf = "NoVisibleFunction")]
    public string noVisibleIfMessage = "";

    public  bool VisibleFunction()
    {
        /*
         * 根据情况下选择返回true或者false,让对应的消息框显示或者不显示
         */
        return true;
    }

    public bool NoVisibleFunction()
    {
        return string.IsNullOrEmpty(noVisibleIfMessage);
    }

在这里插入图片描述

完整示例代码

using Sirenix.OdinInspector;
using UnityEngine;

public class DetailedInfoBoxExample : MonoBehaviour
{
    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True,所以此消息框可见", InfoMessageType = InfoMessageType.None)]
    public string NoneMessage = "无";
    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True,所以此消息框可见", InfoMessageType = InfoMessageType.Info)]
    public string InfoMessage = "无";
    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True,所以此消息框可见", InfoMessageType = InfoMessageType.Warning)]
    public string WarningMessage = "无";
    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True,所以此消息框可见", InfoMessageType = InfoMessageType.Error)]
    public string ErrorMessage = "无";

    [DetailedInfoBox("简介消息", "默认情况下VisibleIf为True。" +
        "所以此消息框可见.还可以通过一个方法的返回值(bool)来控制消息框是否显示," +
        "例如在这个函数中判断此字段是否为null,如果为null在出现弹窗提示等。", 
        InfoMessageType = InfoMessageType.None, VisibleIf = "VisibleFunction")]
    public string haveVisibleIfMessage = "";

    [DetailedInfoBox("简介消息", "还可以通过一个方法的返回值(bool)来控制消息框是否显示,例如在这个函数中判断此字段是否为null,如果为null在出现弹窗提示等。", InfoMessageType = InfoMessageType.None, VisibleIf = "NoVisibleFunction")]
    public string noVisibleIfMessage = "";

    public  bool VisibleFunction()
    {
        /*
         * 根据情况下选择返回true或者false,让对应的消息框显示或者不显示
         */
        return true;
    }

    public bool NoVisibleFunction()
    {
        return string.IsNullOrEmpty(noVisibleIfMessage);
    }
}
  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值