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)
|
if (meshFilter == null)
|
||||||
meshFilter = gameObject.AddComponent<MeshFilter>();
|
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;
|
meshFilter.hideFlags = HideFlags.DontSaveInEditor;
|
||||||
else
|
}
|
||||||
|
else {
|
||||||
meshFilter.hideFlags = HideFlags.None;
|
meshFilter.hideFlags = HideFlags.None;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/// <summary>Flip X and Y to use when the Skeleton is initialized.</summary>
|
/// <summary>Flip X and Y to use when the Skeleton is initialized.</summary>
|
||||||
@ -304,6 +320,11 @@ namespace Spine.Unity {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void OnEnable() {
|
||||||
|
if (!Application.isPlaying)
|
||||||
|
LateUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
void OnDisable () {
|
void OnDisable () {
|
||||||
if (clearStateOnDisable && valid)
|
if (clearStateOnDisable && valid)
|
||||||
ClearState();
|
ClearState();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user