因此,假设我有这个预制资产“P”,并附有此代码。
public GameObject selfReference;
[ContextMenu("GetReference")]
public void GetReference()
{
selfReference = gameObject;
}
请注意:“参考查找”过程由 ContextMenu 触发,因此它是在 Edit Mode而非 Play Mode 下完成的;所有这些都发生在预制资产“P”本身中,而不是放置在场景中的随机实例。
所以我尝试了
selfReference = PrefabUtility.GetNearestPrefabInstanceRoot(gameObject);
但它没有工作,所以试图通过路径加载它:
string _path = AssetDatabase.GetAssetPath(gameObject);
但它只返回空白字符串。
有什么帮助吗?