File Path Attribute特性:用于字符串字段,并為目錄路徑提供接口嗤堰。
【FolderPath】 默認(rèn)情況下戴质,F(xiàn)olderPath提供了一個(gè)相對(duì)于Unity項(xiàng)目的路徑。
// 默認(rèn)情況下踢匣,F(xiàn)olderPath提供了一個(gè)相對(duì)于Unity項(xiàng)目的路徑告匠。
[FolderPath]
public string UnityProjectPath;
【ParentFolder】可以提供自定義父路徑。父路徑可以是相對(duì)于Unity項(xiàng)目的离唬,也可以是絕對(duì)的后专。
// 可以提供自定義父路徑。父路徑可以是相對(duì)于Unity項(xiàng)目的输莺,也可以是絕對(duì)的戚哎。
[FolderPath(ParentFolder = "Assets/Plugins/Sirenix")]
public string RelativeToParentPath;
【ParentFolder】使用父路徑裸诽,F(xiàn)olderPath還可以提供相對(duì)于resources文件夾的路徑。
// 使用父路徑型凳,F(xiàn)olderPath還可以提供相對(duì)于resources文件夾的路徑丈冬。
[FolderPath(ParentFolder = "Assets/Resources")]
public string ResourcePath;
【AbsolutePath】通過(guò)將AbsolutePath設(shè)置為true, FolderPath將提供一個(gè)絕對(duì)路徑。
// 通過(guò)將AbsolutePath設(shè)置為true, FolderPath將提供一個(gè)絕對(duì)路徑甘畅。
[FolderPath(AbsolutePath = true)]
[BoxGroup("Conditions")]
public string AbsolutePath;
【RequireExistingPath】如果提供的路徑無(wú)效埂蕊,還可以將FolderPath配置為顯示錯(cuò)誤。
// 如果提供的路徑無(wú)效疏唾,還可以將FolderPath配置為顯示錯(cuò)誤蓄氧。
[FolderPath(RequireExistingPath = true)]
[BoxGroup("Conditions")]
public string ExistingPath;
【UseBackslashes】默認(rèn)情況下,F(xiàn)olderPath將強(qiáng)制使用前斜杠槐脏。還可以將其配置為使用反斜杠喉童。
// 默認(rèn)情況下,F(xiàn)olderPath將強(qiáng)制使用前斜杠顿天。還可以將其配置為使用反斜杠堂氯。
[FolderPath(UseBackslashes = true)]
[BoxGroup("Conditions")]
public string Backslashes;
FolderPath還支持使用$符號(hào)的成員引用和屬性表達(dá)式。
// FolderPath還支持使用$符號(hào)的成員引用和屬性表達(dá)式露氮。
[FolderPath(ParentFolder = "$DynamicParent")]
[BoxGroup("Member referencing")]
public string DynamicFolderPath;
[BoxGroup("Member referencing")]
public string DynamicParent = "Assets/Plugins/Sirenix";
FolderPath還支持列表和數(shù)組祖灰。
// FolderPath還支持列表和數(shù)組。
[FolderPath(ParentFolder = "Assets/Plugins/Sirenix")]
[BoxGroup("Lists")]
public string[] ListOfFolders;
完整示例腳本
using Sirenix.OdinInspector;
using UnityEngine;
public class FolderPathAttributeExample : MonoBehaviour
{
// 默認(rèn)情況下畔规,F(xiàn)olderPath提供了一個(gè)相對(duì)于Unity項(xiàng)目的路徑局扶。
[FolderPath]
public string UnityProjectPath;
// 可以提供自定義父路徑。父路徑可以是相對(duì)于Unity項(xiàng)目的叁扫,也可以是絕對(duì)的三妈。
[FolderPath(ParentFolder = "Assets/Plugins/Sirenix")]
public string RelativeToParentPath;
// 使用父路徑,F(xiàn)olderPath還可以提供相對(duì)于resources文件夾的路徑莫绣。
[FolderPath(ParentFolder = "Assets/Resources")]
public string ResourcePath;
// 通過(guò)將AbsolutePath設(shè)置為true, FolderPath將提供一個(gè)絕對(duì)路徑畴蒲。
[FolderPath(AbsolutePath = true)]
[BoxGroup("Conditions")]
public string AbsolutePath;
// 如果提供的路徑無(wú)效,還可以將FolderPath配置為顯示錯(cuò)誤对室。
[FolderPath(RequireExistingPath = true)]
[BoxGroup("Conditions")]
public string ExistingPath;
// 默認(rèn)情況下模燥,F(xiàn)olderPath將強(qiáng)制使用前斜杠。還可以將其配置為使用反斜杠掩宜。
[FolderPath(UseBackslashes = true)]
[BoxGroup("Conditions")]
public string Backslashes;
// FolderPath還支持使用$符號(hào)的成員引用和屬性表達(dá)式蔫骂。
[FolderPath(ParentFolder = "$DynamicParent")]
[BoxGroup("Member referencing")]
public string DynamicFolderPath;
[BoxGroup("Member referencing")]
public string DynamicParent = "Assets/Plugins/Sirenix";
// FolderPath還支持列表和數(shù)組。
[FolderPath(ParentFolder = "Assets/Plugins/Sirenix")]
[BoxGroup("Lists")]
public string[] ListOfFolders;
}