[unity] Don't process icons in play mode.

This commit is contained in:
John 2017-06-28 16:03:23 +08:00 committed by GitHub
parent 2567339fa6
commit 7f367dd496

View File

@ -228,12 +228,10 @@ namespace Spine.Unity.Editor {
EditorApplication.hierarchyWindowItemOnGUI += HierarchyDragAndDrop;
// Hierarchy Icons
EditorApplication.hierarchyWindowChanged -= HierarchyIconsOnChanged;
EditorApplication.hierarchyWindowChanged += HierarchyIconsOnChanged;
EditorApplication.hierarchyWindowItemOnGUI -= HierarchyIconsOnGUI;
EditorApplication.hierarchyWindowItemOnGUI += HierarchyIconsOnGUI;
EditorApplication.playmodeStateChanged -= HierarchyIconsOnPlaymodeStateChanged;
EditorApplication.playmodeStateChanged += HierarchyIconsOnPlaymodeStateChanged;
HierarchyIconsOnPlaymodeStateChanged();
HierarchyIconsOnChanged();
initialized = true;
}
@ -496,8 +494,22 @@ namespace Spine.Unity.Editor {
#endregion
#region Hierarchy
static void HierarchyIconsOnPlaymodeStateChanged () {
skeletonRendererTable.Clear();
skeletonUtilityBoneTable.Clear();
boundingBoxFollowerTable.Clear();
EditorApplication.hierarchyWindowChanged -= HierarchyIconsOnChanged;
EditorApplication.hierarchyWindowItemOnGUI -= HierarchyIconsOnGUI;
if (!Application.isPlaying && showHierarchyIcons) {
EditorApplication.hierarchyWindowChanged += HierarchyIconsOnChanged;
EditorApplication.hierarchyWindowItemOnGUI += HierarchyIconsOnGUI;
HierarchyIconsOnChanged();
}
}
static void HierarchyIconsOnChanged () {
if (showHierarchyIcons) {
skeletonRendererTable.Clear();
skeletonUtilityBoneTable.Clear();
boundingBoxFollowerTable.Clear();
@ -514,10 +526,8 @@ namespace Spine.Unity.Editor {
foreach (BoundingBoxFollower bbf in bbfArr)
boundingBoxFollowerTable.Add(bbf.gameObject.GetInstanceID(), bbf);
}
}
static void HierarchyIconsOnGUI (int instanceId, Rect selectionRect) {
if (showHierarchyIcons) {
Rect r = new Rect(selectionRect);
if (skeletonRendererTable.ContainsKey(instanceId)) {
r.x = r.width - 15;
@ -547,8 +557,6 @@ namespace Spine.Unity.Editor {
GUI.DrawTexture(r, Icons.boundingBox);
}
}
}
}
#endregion