Odin Inspector 系列教程 — Show If Attribute

Odin Inspector 系列教程 — Show If AttributeShowIfAttribute用于任何属性,并且可以在检查器中隐藏该属性。使用此选项可根据对象的当前状态隐藏不相关的属性。这个特性的效果主要是当指定条件满足时,显示对应的属性,默认传入的参数为对应属性的名称,如果为True或者不为null时,显示属性[ShowIf(“IsToggled”)]publicVector2VisibleWh…

大家好,又见面了,我是你们的朋友全栈君。

Show If Attribute用于任何属性,并且可以在检查器中隐藏该属性。使用此选项可根据对象的当前状态隐藏不相关的属性。

7643202-2d65453e9f6bde2e.gif

这个特性的效果主要是当指定条件满足时,显示对应的属性,默认传入的参数为对应属性的名称,如果为True或者不为null时,显示属性
    [ShowIf("IsToggled")]
    public Vector2 VisibleWhenToggled;
还以指定一个选项值,当指定的属性与这个值拼配时,显示属性
    [ShowIf("SomeEnum", InfoMessageType.Info)]
    public Vector3 Info;

    [ShowIf("SomeEnum", InfoMessageType.Warning)]
    public Vector2 Warning;

    [ShowIf("SomeEnum", InfoMessageType.Error)]
    public Vector3 Error;
可以使用@特殊符号写入表达式,其表达式的值作为实参
    [ShowIf("@this.IsToggled && this.SomeObject != null || this.SomeEnum == InfoMessageType.Error")]
    public Vector3 HideWhenNull;
完整示例代码
using Sirenix.OdinInspector;
using UnityEngine;

public class ShowIfAttributeExample : MonoBehaviour
{
    public UnityEngine.Object SomeObject;

    [EnumToggleButtons]
    public InfoMessageType SomeEnum;

    public bool IsToggled;

    [ShowIf("SomeEnum", InfoMessageType.Info)]
    public Vector3 Info;

    [ShowIf("SomeEnum", InfoMessageType.Warning)]
    public Vector2 Warning;

    [ShowIf("SomeEnum", InfoMessageType.Error)]
    public Vector3 Error;

    [ShowIf("IsToggled")]
    public Vector2 VisibleWhenToggled;

    [ShowIf("@this.IsToggled && this.SomeObject != null || this.SomeEnum == InfoMessageType.Error")]
    public Vector3 HideWhenNull;
}

更多教程内容详见:革命性Unity 编辑器扩展工具 — Odin Inspector 系列教程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162801.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 云数据库专属集群MyBase_QQ群关系数据库

    云数据库专属集群MyBase_QQ群关系数据库HQY腾讯7000WQQ群关系数据库泄漏共24.52G。QQ24.5gb腾讯QQ群关系数据库,不包含密码。只包含个人名字(群备注名字等信息)。如果想在线查询更多qq群数据信息可以查看:一、下载完24.5gQQ数据库后,解压文件下载后不要把文件改名,打开7z,点击其中一个文件,选择合并文件,合并之后再解压,解压出来应该有22个mdf文件,实际大小应该是91.6G还不到92G。想要数据库下载地址…

    2022年9月1日
    5
  • 安装ensp操作步骤_飞机gps信号受到干扰

    安装ensp操作步骤_飞机gps信号受到干扰前言最近上课用到eNSP,回到寝室想自己安装一个,加上有同学说安装不上,用不了实验室拿过来的,所以就自己试了一下,现已成功那就简要的分享下整个的流程依赖软件WiresharkWinpcapOracleVMVirtualBox核心软件——eNSP正文第一步安装wireshark,官网如下https://www.wireshark.org/进入以后下载最新版本就好了,无需赘述第二步下载OracleVMVirtualBoxhttps://www.virtualbox.or

    2025年11月11日
    3
  • maven配置以及设置国内镜像

    maven配置以及设置国内镜像下载好maven时,将maven包放进D盘,创建maven文件夹,进行解压。然后进行配置右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击“环境变量”,来设置环境变量,有以下系统变量需要配置:新建系统变量MAVEN_HOME变量值:D:\maven\apache-maven-3.5.4编辑系统变量Path添加变量值:;%MAVEN_HOM…

    2022年5月8日
    52
  • html设置ie9兼容性视图,ie9浏览器设置兼容性视图在哪里设置「建议收藏」

    html设置ie9兼容性视图,ie9浏览器设置兼容性视图在哪里设置「建议收藏」当您在使用IE9打开为早期IE版本所设计的网页时,可能会无法正常浏览。此时您可以尝试一下IE的兼容性视图功能来解决这个问题。下面由学习啦小编为你整理了ie9浏览器设置兼容性视图在哪里设置的相关方法,希望对你有帮助!ie9设置兼容性视图的方法和步骤如下该方法同样适用于Windows8中的IE10浏览器版本。当我们在IE9中浏览到显示不正常的网站时,我们可以点击如下图中的兼容性视图的图标,然后我们…

    2025年10月7日
    2
  • matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)-柱形数据视频[通俗易懂]

    matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)-柱形数据视频

    2022年2月20日
    60
  • utf8转换成ansi编码_ansi乱码

    utf8转换成ansi编码_ansi乱码1、windows平台下#ifdef_WIN32intCParserIni::ansi2utf8(conststring&ansiStr,string&utf8Str){intret=kNoError;do{//CP_ACP(ANSI字符集)if(ansiStr.empty())BREAK_WITH_ERROR(kInvalidParamete…

    2025年11月30日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号