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));
}