diff --git a/spine-starling/spine-starling-example/lib/spine-starling.swc b/spine-starling/spine-starling-example/lib/spine-starling.swc index f950b38a5..db3fb77ab 100644 Binary files a/spine-starling/spine-starling-example/lib/spine-starling.swc and b/spine-starling/spine-starling-example/lib/spine-starling.swc differ diff --git a/spine-starling/spine-starling/.settings/com.powerflasher.fdt.exclude b/spine-starling/spine-starling/.settings/com.powerflasher.fdt.exclude index ea01af7bd..4fa9ce312 100644 --- a/spine-starling/spine-starling/.settings/com.powerflasher.fdt.exclude +++ b/spine-starling/spine-starling/.settings/com.powerflasher.fdt.exclude @@ -9,14 +9,5 @@ SDK:frameworks/libs/core.swc SDK:frameworks/libs/osmf.swc SDK:frameworks/libs/textLayout.swc - frameworks/libs/air/aircore.swc - frameworks/libs/air/airglobal.swc - frameworks/libs/air/applicationupdater.swc - frameworks/libs/air/applicationupdater_ui.swc - frameworks/libs/air/servicemonitor.swc - frameworks/libs/authoringsupport.swc - frameworks/libs/core.swc - frameworks/libs/osmf.swc - frameworks/libs/textLayout.swc diff --git a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as index e80ead676..72bd44e90 100644 --- a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as +++ b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as @@ -99,7 +99,14 @@ public class SkeletonSprite extends DisplayObject { b * slot.b * region.b); var image:Image = region.rendererObject as Image; - if (image == null) region.rendererObject = image = Image(AtlasRegion(region.rendererObject).rendererObject); + if (image == null) { + var origImage:Image = Image(AtlasRegion(region.rendererObject).rendererObject); + region.rendererObject = image = new Image(origImage.texture); + for (var j:int = 0; j < 4; j++) { + var p: Point = origImage.getTexCoords(j); + image.setTexCoords(j, p.x, p.y); + } + } image.setVertexPosition(0, worldVertices[2], worldVertices[3]); image.setVertexColor(0, rgb); diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index 927780578..fec3e770a 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -208,12 +208,10 @@ namespace Spine.Unity.Editor { skeletonUtilityBoneTable = new Dictionary(); boundingBoxFollowerTable = new Dictionary(); - #if SPINE_HIERARCHY_ICONS EditorApplication.hierarchyWindowChanged -= HierarchyWindowChanged; EditorApplication.hierarchyWindowChanged += HierarchyWindowChanged; EditorApplication.hierarchyWindowItemOnGUI -= HierarchyWindowItemOnGUI; EditorApplication.hierarchyWindowItemOnGUI += HierarchyWindowItemOnGUI; - #endif HierarchyWindowChanged(); initialized = true; @@ -327,24 +325,31 @@ namespace Spine.Unity.Editor { Vector3 spawnPoint = MousePointToWorldPoint2D(mousePos, sceneview.camera, plane); var menu = new GenericMenu(); + // SkeletonAnimation menu.AddItem(new GUIContent("SkeletonAnimation"), false, HandleSkeletonComponentDrop, new SpawnMenuData { skeletonDataAsset = skeletonDataAsset, spawnPoint = spawnPoint, - instantiateDelegate = (data) => InstantiateSkeletonAnimation(data) + instantiateDelegate = (data) => InstantiateSkeletonAnimation(data), + isUI = false }); - foreach (var spawnType in additionalSpawnTypes) { - menu.AddItem(new GUIContent(spawnType.menuLabel), false, HandleSkeletonComponentDrop, new SpawnMenuData { - skeletonDataAsset = skeletonDataAsset, - spawnPoint = spawnPoint, - instantiateDelegate = spawnType.instantiateDelegate, - isUI = spawnType.isUI - }); + // SkeletonGraphic + var skeletonGraphicInspectorType = System.Type.GetType("Spine.Unity.Editor.SkeletonGraphicInspector"); + if (skeletonGraphicInspectorType != null) { + var graphicInstantiateDelegate = skeletonGraphicInspectorType.GetMethod("SpawnSkeletonGraphicFromDrop", BindingFlags.Static | BindingFlags.Public); + if (graphicInstantiateDelegate != null) + menu.AddItem(new GUIContent("SkeletonGraphic (UI)"), false, HandleSkeletonComponentDrop, new SpawnMenuData { + skeletonDataAsset = skeletonDataAsset, + spawnPoint = spawnPoint, + instantiateDelegate = System.Delegate.CreateDelegate(typeof(InstantiateDelegate), graphicInstantiateDelegate) as InstantiateDelegate, + isUI = true + }); } + #if SPINE_SKELETONANIMATOR menu.AddSeparator(""); - + // SkeletonAnimator menu.AddItem(new GUIContent("SkeletonAnimator"), false, HandleSkeletonComponentDrop, new SpawnMenuData { skeletonDataAsset = skeletonDataAsset, spawnPoint = spawnPoint, diff --git a/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Editor/SkeletonGraphicInspector.cs b/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Editor/SkeletonGraphicInspector.cs index bd9ede169..a86a7b2a9 100644 --- a/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Editor/SkeletonGraphicInspector.cs +++ b/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Editor/SkeletonGraphicInspector.cs @@ -49,40 +49,6 @@ namespace Spine.Unity.Editor { SkeletonGraphic thisSkeletonGraphic; - static SpineEditorUtilities.InstantiateDelegate instantiateDelegate; - - static SkeletonGraphicInspector () { - if (!SpineEditorUtilities.initialized) - return; - - if (instantiateDelegate == null) - instantiateDelegate = new SpineEditorUtilities.InstantiateDelegate(SpawnSkeletonGraphicFromDrop); - - // Drag and Drop Instantiate menu item - var spawnTypes = SpineEditorUtilities.additionalSpawnTypes; - UnityEngine.Assertions.Assert.IsFalse(spawnTypes == null); - bool menuItemExists = false; - foreach (var spawnType in spawnTypes) { - if (spawnType.instantiateDelegate == SkeletonGraphicInspector.instantiateDelegate) { - menuItemExists = true; - break; - } - } - - if (!menuItemExists) { - SpineEditorUtilities.additionalSpawnTypes.Add(new SpineEditorUtilities.SkeletonComponentSpawnType { - menuLabel = "SkeletonGraphic (UI)", - instantiateDelegate = SkeletonGraphicInspector.instantiateDelegate, - isUI = true - }); - } - - } - - static public Component SpawnSkeletonGraphicFromDrop (SkeletonDataAsset data) { - return InstantiateSkeletonGraphic(data); - } - void OnEnable () { var so = this.serializedObject; thisSkeletonGraphic = target as SkeletonGraphic; @@ -198,6 +164,11 @@ namespace Spine.Unity.Editor { return true; } + // SpineEditorUtilities.InstantiateDelegate. Used by drag and drop. + public static Component SpawnSkeletonGraphicFromDrop (SkeletonDataAsset data) { + return InstantiateSkeletonGraphic(data); + } + public static SkeletonGraphic InstantiateSkeletonGraphic (SkeletonDataAsset skeletonDataAsset, string skinName) { return InstantiateSkeletonGraphic(skeletonDataAsset, skeletonDataAsset.GetSkeletonData(true).FindSkin(skinName)); }