版本:Unity 6 (6000.0)
语言英语
  • C#

SearchUtils.GetTransformPath

建议进行更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实会阅读来自用户的每条建议的更改,并在适当的情况下进行更新。

关闭

提交失败

由于某种原因,无法提交您的建议更改。请在几分钟后<a>重试</a>。感谢您抽出宝贵时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static string GetTransformPath(Transform tform);

参数

tform 从中提取名称的 Transform。

返回值

string返回一个变形名称,使用 “/” 作为层次结构分隔符。

描述

通过附加所有父层次结构名称来格式化 Transform 组件的漂亮名称。

static string FetchLabel(SearchItem item, SearchContext context)
{
    if (item.label != null)
        return item.label;

    var go = ObjectFromItem(item);
    if (!go)
        return item.id;

    var transformPath = SearchUtils.GetTransformPath(go.transform);
    var components = go.GetComponents<Component>();
    if (components.Length > 2 && components[1] && components[components.Length - 1])
        item.label = $"{transformPath} ({components[1].GetType().Name}..{components[components.Length - 1].GetType().Name})";
    else if (components.Length > 1 && components[1])
        item.label = $"{transformPath} ({components[1].GetType().Name})";
    else
        item.label = $"{transformPath} ({item.id})";

    return item.label;
}