mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
[unity] Fixed InvalidCastException at version upgrade. Closes #2718.
This commit is contained in:
parent
aade5d6030
commit
ee558554fb
@ -126,13 +126,16 @@ namespace Spine.Unity.Editor {
|
|||||||
get {
|
get {
|
||||||
if (serializedObject.isEditingMultipleObjects) {
|
if (serializedObject.isEditingMultipleObjects) {
|
||||||
foreach (UnityEngine.Object c in targets) {
|
foreach (UnityEngine.Object c in targets) {
|
||||||
SkeletonGraphic component = (SkeletonGraphic)c;
|
SkeletonGraphic component = c as SkeletonGraphic;
|
||||||
|
if (component == null) continue;
|
||||||
if (!component.IsValid)
|
if (!component.IsValid)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
SkeletonGraphic component = (SkeletonGraphic)target;
|
SkeletonGraphic component = target as SkeletonGraphic;
|
||||||
|
if (component == null)
|
||||||
|
return false;
|
||||||
return component.IsValid;
|
return component.IsValid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -230,7 +233,8 @@ namespace Spine.Unity.Editor {
|
|||||||
|
|
||||||
protected virtual void DisableEditReferenceRectMode () {
|
protected virtual void DisableEditReferenceRectMode () {
|
||||||
foreach (UnityEngine.Object c in targets) {
|
foreach (UnityEngine.Object c in targets) {
|
||||||
SkeletonGraphic component = (SkeletonGraphic)c;
|
SkeletonGraphic component = c as SkeletonGraphic;
|
||||||
|
if (component == null) continue;
|
||||||
component.EditReferenceRect = false;
|
component.EditReferenceRect = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -279,8 +283,10 @@ namespace Spine.Unity.Editor {
|
|||||||
EditorGUILayout.PropertyField(material);
|
EditorGUILayout.PropertyField(material);
|
||||||
if (GUILayout.Button("Detect", EditorStyles.miniButton, GUILayout.Width(67f))) {
|
if (GUILayout.Button("Detect", EditorStyles.miniButton, GUILayout.Width(67f))) {
|
||||||
Undo.RecordObjects(targets, "Detect Material");
|
Undo.RecordObjects(targets, "Detect Material");
|
||||||
foreach (UnityEngine.Object skeletonGraphic in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
DetectMaterial((SkeletonGraphic)skeletonGraphic);
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
|
DetectMaterial(skeletonGraphic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -321,8 +327,10 @@ namespace Spine.Unity.Editor {
|
|||||||
EditorStyles.miniButton, GUILayout.Width(100f))) {
|
EditorStyles.miniButton, GUILayout.Width(100f))) {
|
||||||
|
|
||||||
Undo.RecordObjects(targets, "Trim Renderers");
|
Undo.RecordObjects(targets, "Trim Renderers");
|
||||||
foreach (UnityEngine.Object skeletonGraphic in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
((SkeletonGraphic)skeletonGraphic).TrimRenderers();
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
|
skeletonGraphic.TrimRenderers();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EditorGUILayout.EndHorizontal();
|
EditorGUILayout.EndHorizontal();
|
||||||
@ -337,8 +345,10 @@ namespace Spine.Unity.Editor {
|
|||||||
EditorStyles.miniButton, GUILayout.Width(100f))) {
|
EditorStyles.miniButton, GUILayout.Width(100f))) {
|
||||||
|
|
||||||
Undo.RecordObjects(targets, "Detect Blend Mode Materials");
|
Undo.RecordObjects(targets, "Detect Blend Mode Materials");
|
||||||
foreach (UnityEngine.Object skeletonGraphic in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
DetectBlendModeMaterials((SkeletonGraphic)skeletonGraphic);
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
|
DetectBlendModeMaterials(skeletonGraphic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EditorGUILayout.EndHorizontal();
|
EditorGUILayout.EndHorizontal();
|
||||||
@ -445,8 +455,10 @@ namespace Spine.Unity.Editor {
|
|||||||
EditorGUILayout.BeginHorizontal(GUILayout.Height(EditorGUIUtility.singleLineHeight + 5));
|
EditorGUILayout.BeginHorizontal(GUILayout.Height(EditorGUIUtility.singleLineHeight + 5));
|
||||||
EditorGUILayout.PrefixLabel("Match RectTransform with Mesh");
|
EditorGUILayout.PrefixLabel("Match RectTransform with Mesh");
|
||||||
if (GUILayout.Button("Match", EditorStyles.miniButton, GUILayout.Width(65f))) {
|
if (GUILayout.Button("Match", EditorStyles.miniButton, GUILayout.Width(65f))) {
|
||||||
foreach (UnityEngine.Object skeletonGraphic in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
MatchRectTransformWithBounds((SkeletonGraphic)skeletonGraphic);
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
|
MatchRectTransformWithBounds(skeletonGraphic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EditorGUILayout.EndHorizontal();
|
EditorGUILayout.EndHorizontal();
|
||||||
@ -471,7 +483,8 @@ namespace Spine.Unity.Editor {
|
|||||||
|
|
||||||
if (slotsReapplyRequired && UnityEngine.Event.current.type == EventType.Repaint) {
|
if (slotsReapplyRequired && UnityEngine.Event.current.type == EventType.Repaint) {
|
||||||
foreach (UnityEngine.Object target in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
SkeletonGraphic skeletonGraphic = (SkeletonGraphic)target;
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
skeletonGraphic.ReapplySeparatorSlotNames();
|
skeletonGraphic.ReapplySeparatorSlotNames();
|
||||||
skeletonGraphic.LateUpdate();
|
skeletonGraphic.LateUpdate();
|
||||||
SceneView.RepaintAll();
|
SceneView.RepaintAll();
|
||||||
@ -494,8 +507,10 @@ namespace Spine.Unity.Editor {
|
|||||||
EditorGUILayout.PropertyField(tintBlack, TintBlackLabel);
|
EditorGUILayout.PropertyField(tintBlack, TintBlackLabel);
|
||||||
if (GUILayout.Button("Detect", EditorStyles.miniButton, GUILayout.Width(65f))) {
|
if (GUILayout.Button("Detect", EditorStyles.miniButton, GUILayout.Width(65f))) {
|
||||||
Undo.RecordObjects(targets, "Detect Tint Black");
|
Undo.RecordObjects(targets, "Detect Tint Black");
|
||||||
foreach (UnityEngine.Object skeletonGraphic in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
DetectTintBlack((SkeletonGraphic)skeletonGraphic);
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
|
DetectTintBlack(skeletonGraphic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -503,8 +518,10 @@ namespace Spine.Unity.Editor {
|
|||||||
EditorGUILayout.PropertyField(canvasGroupCompatible, CanvasGroupCompatibleLabel);
|
EditorGUILayout.PropertyField(canvasGroupCompatible, CanvasGroupCompatibleLabel);
|
||||||
if (GUILayout.Button("Detect", EditorStyles.miniButton, GUILayout.Width(65f))) {
|
if (GUILayout.Button("Detect", EditorStyles.miniButton, GUILayout.Width(65f))) {
|
||||||
Undo.RecordObjects(targets, "Detect CanvasGroup Compatible");
|
Undo.RecordObjects(targets, "Detect CanvasGroup Compatible");
|
||||||
foreach (UnityEngine.Object skeletonGraphic in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
DetectCanvasGroupCompatible((SkeletonGraphic)skeletonGraphic);
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
|
DetectCanvasGroupCompatible(skeletonGraphic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -512,8 +529,10 @@ namespace Spine.Unity.Editor {
|
|||||||
EditorGUILayout.PropertyField(pmaVertexColors, PMAVertexColorsLabel);
|
EditorGUILayout.PropertyField(pmaVertexColors, PMAVertexColorsLabel);
|
||||||
if (GUILayout.Button("Detect", EditorStyles.miniButton, GUILayout.Width(65f))) {
|
if (GUILayout.Button("Detect", EditorStyles.miniButton, GUILayout.Width(65f))) {
|
||||||
Undo.RecordObjects(targets, "Detect PMA Vertex Colors");
|
Undo.RecordObjects(targets, "Detect PMA Vertex Colors");
|
||||||
foreach (UnityEngine.Object skeletonGraphic in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
DetectPMAVertexColors((SkeletonGraphic)skeletonGraphic);
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
|
DetectPMAVertexColors(skeletonGraphic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -521,16 +540,20 @@ namespace Spine.Unity.Editor {
|
|||||||
GUILayout.FlexibleSpace();
|
GUILayout.FlexibleSpace();
|
||||||
if (GUILayout.Button("Detect Settings", EditorStyles.miniButton, GUILayout.Width(100f))) {
|
if (GUILayout.Button("Detect Settings", EditorStyles.miniButton, GUILayout.Width(100f))) {
|
||||||
Undo.RecordObjects(targets, "Detect Settings");
|
Undo.RecordObjects(targets, "Detect Settings");
|
||||||
foreach (UnityEngine.Object skeletonGraphic in targets) {
|
foreach (UnityEngine.Object targets in targets) {
|
||||||
DetectTintBlack((SkeletonGraphic)skeletonGraphic);
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
DetectCanvasGroupCompatible((SkeletonGraphic)skeletonGraphic);
|
if (skeletonGraphic == null) continue;
|
||||||
DetectPMAVertexColors((SkeletonGraphic)skeletonGraphic);
|
DetectTintBlack(skeletonGraphic);
|
||||||
|
DetectCanvasGroupCompatible(skeletonGraphic);
|
||||||
|
DetectPMAVertexColors(skeletonGraphic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (GUILayout.Button("Detect Material", EditorStyles.miniButton, GUILayout.Width(100f))) {
|
if (GUILayout.Button("Detect Material", EditorStyles.miniButton, GUILayout.Width(100f))) {
|
||||||
Undo.RecordObjects(targets, "Detect Material");
|
Undo.RecordObjects(targets, "Detect Material");
|
||||||
foreach (UnityEngine.Object skeletonGraphic in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
DetectMaterial((SkeletonGraphic)skeletonGraphic);
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
|
DetectMaterial(skeletonGraphic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -543,7 +566,8 @@ namespace Spine.Unity.Editor {
|
|||||||
|
|
||||||
protected bool SkeletonHasMultipleSubmeshes () {
|
protected bool SkeletonHasMultipleSubmeshes () {
|
||||||
foreach (UnityEngine.Object target in targets) {
|
foreach (UnityEngine.Object target in targets) {
|
||||||
SkeletonGraphic skeletonGraphic = (SkeletonGraphic)target;
|
SkeletonGraphic skeletonGraphic = target as SkeletonGraphic;
|
||||||
|
if (skeletonGraphic == null) continue;
|
||||||
if (skeletonGraphic.HasMultipleSubmeshInstructions())
|
if (skeletonGraphic.HasMultipleSubmeshInstructions())
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"name": "com.esotericsoftware.spine.spine-unity",
|
"name": "com.esotericsoftware.spine.spine-unity",
|
||||||
"displayName": "spine-unity Runtime",
|
"displayName": "spine-unity Runtime",
|
||||||
"description": "This plugin provides the spine-unity runtime core.",
|
"description": "This plugin provides the spine-unity runtime core.",
|
||||||
"version": "4.2.93",
|
"version": "4.2.94",
|
||||||
"unity": "2018.3",
|
"unity": "2018.3",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Esoteric Software",
|
"name": "Esoteric Software",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user