mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[unity] Disable playmode state change reload.
This commit is contained in:
parent
b190af431c
commit
7da81ecad1
@ -206,15 +206,15 @@ namespace Spine.Unity.Editor {
|
|||||||
|
|
||||||
// Data Refresh Edit Mode.
|
// Data Refresh Edit Mode.
|
||||||
// This prevents deserialized SkeletonData from persisting from play mode to edit mode.
|
// This prevents deserialized SkeletonData from persisting from play mode to edit mode.
|
||||||
#if UNITY_2017_2_OR_NEWER
|
//#if UNITY_2017_2_OR_NEWER
|
||||||
EditorApplication.playModeStateChanged -= DataReloadHandler.OnPlaymodeStateChanged;
|
// EditorApplication.playModeStateChanged -= DataReloadHandler.OnPlaymodeStateChanged;
|
||||||
EditorApplication.playModeStateChanged += DataReloadHandler.OnPlaymodeStateChanged;
|
// EditorApplication.playModeStateChanged += DataReloadHandler.OnPlaymodeStateChanged;
|
||||||
DataReloadHandler.OnPlaymodeStateChanged(PlayModeStateChange.EnteredEditMode);
|
// DataReloadHandler.OnPlaymodeStateChanged(PlayModeStateChange.EnteredEditMode);
|
||||||
#else
|
//#else
|
||||||
EditorApplication.playmodeStateChanged -= DataReloadHandler.OnPlaymodeStateChanged;
|
// EditorApplication.playmodeStateChanged -= DataReloadHandler.OnPlaymodeStateChanged;
|
||||||
EditorApplication.playmodeStateChanged += DataReloadHandler.OnPlaymodeStateChanged;
|
// EditorApplication.playmodeStateChanged += DataReloadHandler.OnPlaymodeStateChanged;
|
||||||
DataReloadHandler.OnPlaymodeStateChanged();
|
// DataReloadHandler.OnPlaymodeStateChanged();
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
initialized = true;
|
initialized = true;
|
||||||
}
|
}
|
||||||
@ -351,10 +351,15 @@ namespace Spine.Unity.Editor {
|
|||||||
#else
|
#else
|
||||||
internal static void OnPlaymodeStateChanged () {
|
internal static void OnPlaymodeStateChanged () {
|
||||||
#endif
|
#endif
|
||||||
ReloadAllActiveSkeletons();
|
ReloadAllActiveSkeletonsEditMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ReloadAllActiveSkeletons () {
|
static void ReloadAllActiveSkeletonsEditMode () {
|
||||||
|
if (EditorApplication.isPaused) return;
|
||||||
|
if (EditorApplication.isPlaying) return;
|
||||||
|
if (EditorApplication.isCompiling) return;
|
||||||
|
if (EditorApplication.isPlayingOrWillChangePlaymode) return;
|
||||||
|
|
||||||
var skeletonDataAssetsToReload = new HashSet<SkeletonDataAsset>();
|
var skeletonDataAssetsToReload = new HashSet<SkeletonDataAsset>();
|
||||||
|
|
||||||
var activeSkeletonRenderers = GameObject.FindObjectsOfType<SkeletonRenderer>();
|
var activeSkeletonRenderers = GameObject.FindObjectsOfType<SkeletonRenderer>();
|
||||||
@ -369,11 +374,18 @@ namespace Spine.Unity.Editor {
|
|||||||
if (skeletonDataAsset != null) skeletonDataAssetsToReload.Add(skeletonDataAsset);
|
if (skeletonDataAsset != null) skeletonDataAssetsToReload.Add(skeletonDataAsset);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var sda in skeletonDataAssetsToReload)
|
foreach (var sda in skeletonDataAssetsToReload) {
|
||||||
sda.Clear();
|
sda.Clear();
|
||||||
|
sda.GetSkeletonData(true);
|
||||||
|
}
|
||||||
|
|
||||||
foreach (var sr in activeSkeletonRenderers) sr.Initialize(true);
|
foreach (var sr in activeSkeletonRenderers) {
|
||||||
foreach (var sg in activeSkeletonGraphics) sg.Initialize(true);
|
sr.Initialize(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var sg in activeSkeletonGraphics) {
|
||||||
|
sg.Initialize(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user