【发布时间】:2019-04-05 03:18:13
【问题描述】:
我有一个 EditorWindow 脚本。
OnGUI 内部:
for (var i = selection.Count - 1; i >= 0; --i)
{
var selected = selection[i];
if (UnityEditor.PrefabUtility.IsPartOfPrefabInstance(selected))
{
var root = selected.GetComponentInParent(typeof(GameObject));
PrefabUtility.UnpackPrefabInstance(selected, PrefabUnpackMode.Completely, UnityEditor.InteractionMode.AutomatedAction);
}
}
我想找到所选的预制件。 但这给了我一个例外:
ArgumentException: GetComponent 要求请求的组件“GameObject”派生自 MonoBehaviour 或 Component 或者是一个接口。
主要目标是销毁作为预制实例一部分的游戏对象。 为此,我首先需要找到游戏对象(已选择)它是预制的,然后将其从预制中解压缩,然后将其销毁。
但我无法得到它的预制件。
【问题讨论】: