Odin Attributes 大全之 Type Specifics 系列 | (9)Folder Path 特性

📂 Unity常用插件 | 总目录

📂 Unity 3D资源 | 目录索引

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

在这里插入图片描述

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


Folder Path 特性用于字符串属性,并为目录路径提供接口。

在这里插入图片描述

1.【FolderPath】 默认情况下,FolderPath提供了一个相对于Unity项目的路径。

    // 默认情况下,FolderPath提供了一个相对于Unity项目的路径。
    [FolderPath]
    public string UnityProjectPath;

在这里插入图片描述

2.【ParentFolder】可以提供自定义父路径。父路径可以是相对于Unity项目的,也可以是绝对的。

    // 可以提供自定义父路径。父路径可以是相对于Unity项目的,也可以是绝对的。
    [FolderPath(ParentFolder = "Assets/Plugins/Sirenix")]
    public string RelativeToParentPath;

在这里插入图片描述

3.【ParentFolder】使用父路径,FolderPath还可以提供相对于resources文件夹的路径。

    // 使用父路径,FolderPath还可以提供相对于resources文件夹的路径。
    [FolderPath(ParentFolder = "Assets/Resources")]
    public string ResourcePath;

在这里插入图片描述

4.【AbsolutePath】通过将AbsolutePath设置为true, FolderPath将提供一个绝对路径。

    // 通过将AbsolutePath设置为true, FolderPath将提供一个绝对路径。
    [FolderPath(AbsolutePath = true)]
    [BoxGroup("Conditions")]
    public string AbsolutePath;

在这里插入图片描述

5.【RequireExistingPath】如果提供的路径无效,还可以将FolderPath配置为显示错误。

    // 如果提供的路径无效,还可以将FolderPath配置为显示错误。
    [FolderPath(RequireExistingPath = true)]
    [BoxGroup("Conditions")]
    public string ExistingPath;

在这里插入图片描述

6.【UseBackslashes】默认情况下,FolderPath将强制使用前斜杠。还可以将其配置为使用反斜杠。

    // 默认情况下,FolderPath将强制使用前斜杠。还可以将其配置为使用反斜杠。
    [FolderPath(UseBackslashes = true)]
    [BoxGroup("Conditions")]
    public string Backslashes;

在这里插入图片描述

7.FolderPath还支持使用$符号的成员引用和属性表达式。

    // FolderPath还支持使用$符号的成员引用和属性表达式。
    [FolderPath(ParentFolder = "$DynamicParent")]
    [BoxGroup("Member referencing")]
    public string DynamicFolderPath;

    [BoxGroup("Member referencing")]
    public string DynamicParent = "Assets/Plugins/Sirenix";

在这里插入图片描述

8.FolderPath还支持列表和数组。

    // FolderPath还支持列表和数组。
    [FolderPath(ParentFolder = "Assets/Plugins/Sirenix")]
    [BoxGroup("Lists")]
    public string[] ListOfFolders;

在这里插入图片描述

完整示例脚本

using Sirenix.OdinInspector;
using UnityEngine;
public class FolderPathAttributeExample : MonoBehaviour
{
    // 默认情况下,FolderPath提供了一个相对于Unity项目的路径。
    [FolderPath]
    public string UnityProjectPath;

    // 可以提供自定义父路径。父路径可以是相对于Unity项目的,也可以是绝对的。
    [FolderPath(ParentFolder = "Assets/Plugins/Sirenix")]
    public string RelativeToParentPath;

    // 使用父路径,FolderPath还可以提供相对于resources文件夹的路径。
    [FolderPath(ParentFolder = "Assets/Resources")]
    public string ResourcePath;

    // 通过将AbsolutePath设置为true, FolderPath将提供一个绝对路径。
    [FolderPath(AbsolutePath = true)]
    [BoxGroup("Conditions")]
    public string AbsolutePath;

    // 如果提供的路径无效,还可以将FolderPath配置为显示错误。
    [FolderPath(RequireExistingPath = true)]
    [BoxGroup("Conditions")]
    public string ExistingPath;

    // 默认情况下,FolderPath将强制使用前斜杠。还可以将其配置为使用反斜杠。
    [FolderPath(UseBackslashes = true)]
    [BoxGroup("Conditions")]
    public string Backslashes;

    // FolderPath还支持使用$符号的成员引用和属性表达式。
    [FolderPath(ParentFolder = "$DynamicParent")]
    [BoxGroup("Member referencing")]
    public string DynamicFolderPath;

    [BoxGroup("Member referencing")]
    public string DynamicParent = "Assets/Plugins/Sirenix";

    // FolderPath还支持列表和数组。
    [FolderPath(ParentFolder = "Assets/Plugins/Sirenix")]
    [BoxGroup("Lists")]
    public string[] ListOfFolders;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Unity打怪升级

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

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

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

打赏作者

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

抵扣说明:

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

余额充值