PrefabUtility.ApplyRemovedComponent

切换到手册
public static void ApplyRemovedComponent (GameObject instanceGameObject, Component assetComponent, InteractionMode action);

参数

instanceGameObject已删除该组件的预制件实例上的游戏对象。
assetComponent对应于该实例中已删除组件的预制件资源组件。
action此操作的交互模式。

描述

从含有组件的预制件资源中,删除该组件。

从预制件实例删除组件时,该修改是一种类型的实例重载。将此更改(删除组件)应用到预制件的行为意味着从预制件资源本身删除该组件,并且该组件不再是对预制件实例的重载。

此方法允许您将“删除组件”更改应用于现有的预制件。它对应了编辑器中的功能(如此处的用户手册中所述)。要使用此方法,必须首先从现有的预制件实例删除组件。

将删除的组件应用于预制件资源时,必须提供资源路径作为参数。这是因为在某些情况下,可能将此更改应用于多个目标。例如,如果从属于嵌套预制件实例的游戏对象删除该组件,可选择将更改应用到内部嵌套的预制件资源,还是应用到外部根预制件资源。因此,通过指定资源路径,可让 Unity 明确知晓此更改必须应用于哪个预制件资源。

用户手册中介绍了有关选择应用目标的更多信息。

另请参阅:PrefabUtility.ApplyAddedGameObjectPrefabUtility.ApplyAddedGameObjectPrefabUtility.ApplyObjectOverridePrefabUtility.ApplyPropertyOverridePrefabUtility.ApplyPrefabInstance