public static GameObject ReplacePrefab(GameObject go, Object targetPrefab, HEU_ReplacePrefabOptions heuOptions) { #if UNITY_EDITOR #if UNITY_2018_3_OR_NEWER #pragma warning disable CS0618 // Type or member is obsolete // This is doing the same thing as 2018.2 and earlier for now, since in 2018.3b the SavePrefab* methods don't handle // merging based on naming yet. (FIXME: Revisit when 2018.3 comes out of beta) ReplacePrefabOptions unityOptions = ReplacePrefabOptions.Default; switch (heuOptions) { case HEU_ReplacePrefabOptions.Default: unityOptions = ReplacePrefabOptions.Default; break; case HEU_ReplacePrefabOptions.ConnectToPrefab: unityOptions = ReplacePrefabOptions.ConnectToPrefab; break; case HEU_ReplacePrefabOptions.ReplaceNameBased: unityOptions = ReplacePrefabOptions.ReplaceNameBased; break; default: Debug.LogFormat("Unsupported replace prefab option: {0}", heuOptions); break; } return PrefabUtility.ReplacePrefab(go, targetPrefab, unityOptions); #pragma warning restore CS0618 // Type or member is obsolete #else ReplacePrefabOptions unityOptions = ReplacePrefabOptions.Default; switch(heuOptions) { case HEU_ReplacePrefabOptions.Default: unityOptions = ReplacePrefabOptions.Default; break; case HEU_ReplacePrefabOptions.ConnectToPrefab: unityOptions = ReplacePrefabOptions.ConnectToPrefab; break; case HEU_ReplacePrefabOptions.ReplaceNameBased: unityOptions = ReplacePrefabOptions.ReplaceNameBased; break; default: Debug.LogFormat("Unsupported replace prefab option: {0}", heuOptions); break; } return PrefabUtility.ReplacePrefab(go, targetPrefab, unityOptions); #endif #else Debug.LogWarning(HEU_Defines.HEU_USERMSG_NONEDITOR_NOT_SUPPORTED); return null; #endif }
public static GameObject ReplacePrefab(GameObject go, Object targetPrefab, HEU_ReplacePrefabOptions heuOptions) { #if UNITY_EDITOR ReplacePrefabOptions unityOptions = ReplacePrefabOptions.Default; switch (heuOptions) { case HEU_ReplacePrefabOptions.Default: unityOptions = ReplacePrefabOptions.Default; break; case HEU_ReplacePrefabOptions.ConnectToPrefab: unityOptions = ReplacePrefabOptions.ConnectToPrefab; break; case HEU_ReplacePrefabOptions.ReplaceNameBased: unityOptions = ReplacePrefabOptions.ReplaceNameBased; break; default: Debug.LogFormat("Unsupported replace prefab option: {0}", heuOptions); break; } return(PrefabUtility.ReplacePrefab(go, targetPrefab, unityOptions)); #else Debug.LogWarning(HEU_Defines.HEU_USERMSG_NONEDITOR_NOT_SUPPORTED); return(null); #endif }