Odin Attributes 大全之 Type Specifics 系列 | (24)Type Drawer Settings 特性

📂 Unity常用插件 | 总目录

📂 Unity 3D资源 | 目录索引

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

在这里插入图片描述

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


Type Drawer Settings 特性用于为 Type Drawer 提供选项。

在这里插入图片描述

[ShowInInspector]
public Type Default;

[Title("Base Type"), ShowInInspector, LabelText("Set")]
[TypeDrawerSettings(BaseType = typeof(IEnumerable<>))]
public Type BaseType_Set;

[ShowInInspector, LabelText("Not Set")]
[TypeDrawerSettings(BaseType = null)]
public Type BaseType_NotSet;

[Title(nameof(TypeDrawerSettingsAttribute.Filter)), ShowInInspector, LabelText("Concrete Types")]
[TypeDrawerSettings(BaseType = typeof(IBaseGeneric<>), Filter = TypeInclusionFilter.IncludeConcreteTypes)]
public Type Filter_Default;

[ShowInInspector, LabelText("Concrete- && Generic Types")]
[TypeDrawerSettings(BaseType = typeof(IBaseGeneric<>), Filter = TypeInclusionFilter.IncludeConcreteTypes | TypeInclusionFilter.IncludeGenerics)]
public Type Filter_Generics;

[ShowInInspector, LabelText("Concrete- && Interface Types")]
[TypeDrawerSettings(BaseType = typeof(IBaseGeneric<>), Filter = TypeInclusionFilter.IncludeConcreteTypes | TypeInclusionFilter.IncludeInterfaces)]
public Type Filter_Interfaces;

[ShowInInspector, LabelText("Concrete- && Abstract Types")]
[TypeDrawerSettings(BaseType = typeof(IBaseGeneric<>), Filter = TypeInclusionFilter.IncludeConcreteTypes | TypeInclusionFilter.IncludeAbstracts)]
public Type Filter_Abstracts;

[ShowInInspector, LabelText("Concrete-, Abstract- && Generic Types")]
[TypeDrawerSettings(BaseType = typeof(IBaseGeneric<>), Filter = TypeInclusionFilter.IncludeConcreteTypes |
                                                                                     TypeInclusionFilter.IncludeAbstracts |
                                                                                     TypeInclusionFilter.IncludeGenerics)]
public Type Filter_Abstracts_Generics;

[ShowInInspector, LabelText("Concrete-, Interface- && Generic Types")]
[TypeDrawerSettings(BaseType = typeof(IBaseGeneric<>), Filter = TypeInclusionFilter.IncludeConcreteTypes |
                                                                                     TypeInclusionFilter.IncludeInterfaces |
                                                                                     TypeInclusionFilter.IncludeGenerics)]
public Type Filter_Interfaces_Generics;

[ShowInInspector, LabelText("Concrete-, Interface- && Abstract Types")]
[TypeDrawerSettings(BaseType = typeof(IBaseGeneric<>), Filter = TypeInclusionFilter.IncludeConcreteTypes |
                                                                                     TypeInclusionFilter.IncludeInterfaces |
                                                                                     TypeInclusionFilter.IncludeAbstracts)]
public Type Filter_Interfaces_Abstracts;

[ShowInInspector, LabelText("All")]
[TypeDrawerSettings(BaseType = typeof(IBaseGeneric<>), Filter = TypeInclusionFilter.IncludeAll)]
public Type Filter_All;

public interface IBaseGeneric<T> { }

public interface IBase : IBaseGeneric<int> { }

public abstract class Base : IBase { }

public class Concrete : Base { }

public class ConcreteGeneric<T> : Base { }

public abstract class BaseGeneric<T> : IBase { }

[CompilerGenerated]
public class ConcreteGenerated : Base { }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unity打怪升级

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值