mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[unity] Use IHasSkeletonDataAsset interface.
This commit is contained in:
parent
4c7a6b6501
commit
cf7447628b
@ -79,10 +79,10 @@ namespace Spine.Unity.Editor {
|
|||||||
var objectReferenceValue = dataField.objectReferenceValue;
|
var objectReferenceValue = dataField.objectReferenceValue;
|
||||||
if (objectReferenceValue is SkeletonDataAsset) {
|
if (objectReferenceValue is SkeletonDataAsset) {
|
||||||
skeletonDataAsset = (SkeletonDataAsset)objectReferenceValue;
|
skeletonDataAsset = (SkeletonDataAsset)objectReferenceValue;
|
||||||
} else if (objectReferenceValue is ISkeletonComponent) {
|
} else if (objectReferenceValue is IHasSkeletonDataAsset) {
|
||||||
var skeletonComponent = (ISkeletonComponent)objectReferenceValue;
|
var hasSkeletonDataAsset = (IHasSkeletonDataAsset)objectReferenceValue;
|
||||||
if (skeletonComponent != null)
|
if (hasSkeletonDataAsset != null)
|
||||||
skeletonDataAsset = skeletonComponent.SkeletonDataAsset;
|
skeletonDataAsset = hasSkeletonDataAsset.SkeletonDataAsset;
|
||||||
} else if (objectReferenceValue != null) {
|
} else if (objectReferenceValue != null) {
|
||||||
EditorGUI.LabelField(position, "ERROR:", "Invalid reference type");
|
EditorGUI.LabelField(position, "ERROR:", "Invalid reference type");
|
||||||
return;
|
return;
|
||||||
@ -90,9 +90,9 @@ namespace Spine.Unity.Editor {
|
|||||||
|
|
||||||
} else if (property.serializedObject.targetObject is Component) {
|
} else if (property.serializedObject.targetObject is Component) {
|
||||||
var component = (Component)property.serializedObject.targetObject;
|
var component = (Component)property.serializedObject.targetObject;
|
||||||
var skeletonComponent = component.GetComponentInChildren(typeof(ISkeletonComponent)) as ISkeletonComponent;
|
var hasSkeletonDataAsset = component.GetComponentInChildren(typeof(IHasSkeletonDataAsset)) as IHasSkeletonDataAsset;
|
||||||
if (skeletonComponent != null)
|
if (hasSkeletonDataAsset != null)
|
||||||
skeletonDataAsset = skeletonComponent.SkeletonDataAsset;
|
skeletonDataAsset = hasSkeletonDataAsset.SkeletonDataAsset;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skeletonDataAsset == null) {
|
if (skeletonDataAsset == null) {
|
||||||
|
|||||||
@ -220,9 +220,9 @@ namespace Spine.Unity.Editor {
|
|||||||
public static bool TargetsUseSameData (SerializedObject so) {
|
public static bool TargetsUseSameData (SerializedObject so) {
|
||||||
if (so.isEditingMultipleObjects) {
|
if (so.isEditingMultipleObjects) {
|
||||||
int n = so.targetObjects.Length;
|
int n = so.targetObjects.Length;
|
||||||
var first = so.targetObjects[0] as ISkeletonComponent;
|
var first = so.targetObjects[0] as IHasSkeletonDataAsset;
|
||||||
for (int i = 1; i < n; i++) {
|
for (int i = 1; i < n; i++) {
|
||||||
var sr = so.targetObjects[i] as ISkeletonComponent;
|
var sr = so.targetObjects[i] as IHasSkeletonDataAsset;
|
||||||
if (sr != null && sr.SkeletonDataAsset != first.SkeletonDataAsset)
|
if (sr != null && sr.SkeletonDataAsset != first.SkeletonDataAsset)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,7 +42,7 @@ namespace Spine.Unity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Holds a reference to a SkeletonDataAsset.</summary>
|
/// <summary>Holds a reference to a SkeletonDataAsset.</summary>
|
||||||
public interface ISkeletonDataAssetComponent {
|
public interface IHasSkeletonDataAsset {
|
||||||
/// <summary>Gets the SkeletonDataAsset of the Spine Component.</summary>
|
/// <summary>Gets the SkeletonDataAsset of the Spine Component.</summary>
|
||||||
SkeletonDataAsset SkeletonDataAsset { get; }
|
SkeletonDataAsset SkeletonDataAsset { get; }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,7 +35,7 @@ using Spine;
|
|||||||
namespace Spine.Unity {
|
namespace Spine.Unity {
|
||||||
[ExecuteInEditMode, RequireComponent(typeof(CanvasRenderer), typeof(RectTransform)), DisallowMultipleComponent]
|
[ExecuteInEditMode, RequireComponent(typeof(CanvasRenderer), typeof(RectTransform)), DisallowMultipleComponent]
|
||||||
[AddComponentMenu("Spine/SkeletonGraphic (Unity UI Canvas)")]
|
[AddComponentMenu("Spine/SkeletonGraphic (Unity UI Canvas)")]
|
||||||
public class SkeletonGraphic : MaskableGraphic, ISkeletonComponent, IAnimationStateComponent, ISkeletonAnimation, ISkeletonDataAssetComponent {
|
public class SkeletonGraphic : MaskableGraphic, ISkeletonComponent, IAnimationStateComponent, ISkeletonAnimation, IHasSkeletonDataAsset {
|
||||||
|
|
||||||
#region Inspector
|
#region Inspector
|
||||||
public SkeletonDataAsset skeletonDataAsset;
|
public SkeletonDataAsset skeletonDataAsset;
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace Spine.Unity {
|
|||||||
/// <summary>Renders a skeleton.</summary>
|
/// <summary>Renders a skeleton.</summary>
|
||||||
[ExecuteInEditMode, RequireComponent(typeof(MeshFilter), typeof(MeshRenderer)), DisallowMultipleComponent]
|
[ExecuteInEditMode, RequireComponent(typeof(MeshFilter), typeof(MeshRenderer)), DisallowMultipleComponent]
|
||||||
[HelpURL("http://esotericsoftware.com/spine-unity-documentation#Rendering")]
|
[HelpURL("http://esotericsoftware.com/spine-unity-documentation#Rendering")]
|
||||||
public class SkeletonRenderer : MonoBehaviour, ISkeletonComponent, ISkeletonDataAssetComponent {
|
public class SkeletonRenderer : MonoBehaviour, ISkeletonComponent, IHasSkeletonDataAsset {
|
||||||
|
|
||||||
public delegate void SkeletonRendererDelegate (SkeletonRenderer skeletonRenderer);
|
public delegate void SkeletonRendererDelegate (SkeletonRenderer skeletonRenderer);
|
||||||
public event SkeletonRendererDelegate OnRebuild;
|
public event SkeletonRendererDelegate OnRebuild;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user