mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[unity] BoneFollower same-GameObject editor guard.
This commit is contained in:
parent
afffdbe383
commit
a7661270c0
@ -63,13 +63,20 @@ namespace Spine.Unity.Editor {
|
|||||||
// Find Renderer
|
// Find Renderer
|
||||||
if (skeletonRenderer.objectReferenceValue == null) {
|
if (skeletonRenderer.objectReferenceValue == null) {
|
||||||
SkeletonRenderer parentRenderer = BoneFollowerInspector.GetInParent<SkeletonRenderer>(targetBoneFollower.transform);
|
SkeletonRenderer parentRenderer = BoneFollowerInspector.GetInParent<SkeletonRenderer>(targetBoneFollower.transform);
|
||||||
if (parentRenderer != null) {
|
if (parentRenderer != null && parentRenderer.gameObject != targetBoneFollower.gameObject) {
|
||||||
Debug.Log("Inspector automatically assigned BoneFollower.SkeletonRenderer");
|
Debug.Log("Inspector automatically assigned BoneFollower.SkeletonRenderer");
|
||||||
skeletonRenderer.objectReferenceValue = parentRenderer;
|
skeletonRenderer.objectReferenceValue = parentRenderer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EditorGUILayout.PropertyField(skeletonRenderer);
|
EditorGUILayout.PropertyField(skeletonRenderer);
|
||||||
|
var skeletonRendererReference = skeletonRenderer.objectReferenceValue as SkeletonRenderer;
|
||||||
|
if (skeletonRendererReference != null) {
|
||||||
|
if (skeletonRendererReference.gameObject == targetBoneFollower.gameObject) {
|
||||||
|
skeletonRenderer.objectReferenceValue = null;
|
||||||
|
EditorUtility.DisplayDialog("Invalid assignment.", "BoneFollower can only follow a skeleton on a separate GameObject.\n\nCreate a new GameObject for your BoneFollower, or choose a SkeletonRenderer from a different GameObject.", "Ok");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (targetBoneFollower.valid) {
|
if (targetBoneFollower.valid) {
|
||||||
EditorGUI.BeginChangeCheck();
|
EditorGUI.BeginChangeCheck();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user