Version: 2023.2
public static bool IsOpenForEdit (Object assetObject, StatusQueryOptions statusOptions= StatusQueryOptions.UseCachedIfPossible);
public static bool IsOpenForEdit (string assetOrMetaFilePath, StatusQueryOptions statusOptions= StatusQueryOptions.UseCachedIfPossible);
public static bool IsOpenForEdit (Object assetObject, out string message, StatusQueryOptions statusOptions= StatusQueryOptions.UseCachedIfPossible);
public static bool IsOpenForEdit (string assetOrMetaFilePath, out string message, StatusQueryOptions statusOptions= StatusQueryOptions.UseCachedIfPossible);

参数

assetObject 一个代表要查询其状态的资源的对象。
assetOrMetaFilePath 资源文件或其 .meta 文件在磁盘上的路径,此路径是相对于项目文件夹的路径。
message 返回资源未打开以供编辑的原因。
statusOptions 有关应如何查询版本控制系统的选项。这些选项可能会影响查询的速度和准确性。默认值为 StatusQueryOptions.UseCachedIfPossible

返回

bool 如果选定的版本控制系统认为资源已打开以供编辑,则为 true。

描述

查询是否在版本控制中打开资源文件进行编辑。

版本控制系统可能配置为每次仅允许一个用户编辑特定类型的文件,以避免在多个用户同时编辑文件时会出现的冲突。在此情况下,用户必须“打开”该文件进行编辑(也称为“签出”)以确保他们有编辑文件的权限。使用此函数可在支持它的版本控制系统中查询文件的“打开以进行编辑”状态。

在 Unity 项目文件夹外部或不在受版本控制的文件夹(例如“Library”或“Temp”)下的文件路径 始终被视为打开以进行编辑。IsOpenForEdit 对于这些路径会返回 /true/。

引用非本地包文件夹的文件路径始终被视为不可编辑。IsOpenForEdit 对于这些路径会返回 /false/。

没有版本控制系统处于活动状态时,项目中的文件路径全都被视为打开以进行编辑。

有版本控制系统处于活动状态时,例如在 Perforce VCS 下,“已添加”和“已在本地签出”文件 被视为打开以进行编辑,其他文件则不是如此。

另请参阅:AssetDatabase.IsMetaFileOpenForEditStatusQueryOptionsAssetDatabase.MakeEditable


public static void IsOpenForEdit (string[] assetOrMetaFilePaths, List<string> outNotEditablePaths, StatusQueryOptions statusQueryOptions= StatusQueryOptions.UseCachedIfPossible);

参数

assetOrMetaFilePaths 资源或其 .meta 文件的路径,相对于项目文件夹。
outNotEditablePaths 不可编辑的资源路径的目标列表。
statusQueryOptions 指定 Unity 应如何查询版本控制系统。默认值为 StatusQueryOptions.UseCachedIfPossible

描述

查询在版本控制中打开了哪些提供的资源文件以进行编辑。

IsOpenForEdit 函数的此变体可以一次查询多个资源路径。它会将那些不是“打开以进行编辑”的资源的路径写入 outNotEditablePaths 列表中。