mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
Merge pull request #1939 from sr4dev/fix_multiple_nested_prefab_override_issue
[unity] Fix multiple nested prefab override issue.
This commit is contained in:
commit
80973bc1aa
@ -83,10 +83,26 @@ namespace Spine.Unity {
|
||||
if (meshFilter == null)
|
||||
meshFilter = gameObject.AddComponent<MeshFilter>();
|
||||
}
|
||||
if (fixPrefabOverrideViaMeshFilter)
|
||||
if (fixPrefabOverrideViaMeshFilter) {
|
||||
#if NEW_PREFAB_SYSTEM
|
||||
if (UnityEditor.PrefabUtility.IsPartOfAnyPrefab(meshFilter)) {
|
||||
var instanceRoot = UnityEditor.PrefabUtility.GetOutermostPrefabInstanceRoot(meshFilter);
|
||||
if (instanceRoot != null) {
|
||||
var objectOverrides = UnityEditor.PrefabUtility.GetObjectOverrides(instanceRoot);
|
||||
foreach (UnityEditor.SceneManagement.ObjectOverride objectOverride in objectOverrides) {
|
||||
if (objectOverride.instanceObject == meshFilter) {
|
||||
objectOverride.Revert(UnityEditor.InteractionMode.AutomatedAction);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
meshFilter.hideFlags = HideFlags.DontSaveInEditor;
|
||||
else
|
||||
}
|
||||
else {
|
||||
meshFilter.hideFlags = HideFlags.None;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/// <summary>Flip X and Y to use when the Skeleton is initialized.</summary>
|
||||
@ -304,6 +320,11 @@ namespace Spine.Unity {
|
||||
}
|
||||
#endif
|
||||
|
||||
void OnEnable() {
|
||||
if (!Application.isPlaying)
|
||||
LateUpdate();
|
||||
}
|
||||
|
||||
void OnDisable () {
|
||||
if (clearStateOnDisable && valid)
|
||||
ClearState();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user