mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[unity] BoundingBoxFollower also uses active skin.
This commit is contained in:
parent
dac38e5843
commit
263c6278e2
@ -112,27 +112,10 @@ namespace Spine.Unity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.gameObject.activeInHierarchy) {
|
if (this.gameObject.activeInHierarchy) {
|
||||||
foreach (var skin in skeleton.Data.Skins) {
|
foreach (var skin in skeleton.Data.Skins)
|
||||||
var attachmentNames = new List<string>();
|
AddSkin(skin, skeleton, slotIndex);
|
||||||
skin.FindNamesForSlot(slotIndex, attachmentNames);
|
|
||||||
|
|
||||||
foreach (var skinKey in attachmentNames) {
|
AddSkin(skeleton.skin, skeleton, slotIndex);
|
||||||
var attachment = skin.GetAttachment(slotIndex, skinKey);
|
|
||||||
var boundingBoxAttachment = attachment as BoundingBoxAttachment;
|
|
||||||
|
|
||||||
if (BoundingBoxFollower.DebugMessages && attachment != null && boundingBoxAttachment == null)
|
|
||||||
Debug.Log("BoundingBoxFollower tried to follow a slot that contains non-boundingbox attachments: " + slotName);
|
|
||||||
|
|
||||||
if (boundingBoxAttachment != null) {
|
|
||||||
var bbCollider = SkeletonUtility.AddBoundingBoxAsComponent(boundingBoxAttachment, slot, gameObject, isTrigger);
|
|
||||||
bbCollider.enabled = false;
|
|
||||||
bbCollider.hideFlags = HideFlags.NotEditable;
|
|
||||||
bbCollider.isTrigger = IsTrigger;
|
|
||||||
colliderTable.Add(boundingBoxAttachment, bbCollider);
|
|
||||||
nameTable.Add(boundingBoxAttachment, skinKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BoundingBoxFollower.DebugMessages) {
|
if (BoundingBoxFollower.DebugMessages) {
|
||||||
@ -146,6 +129,28 @@ namespace Spine.Unity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AddSkin (Skin skin, Skeleton skeleton, int slotIndex) {
|
||||||
|
var attachmentNames = new List<string>();
|
||||||
|
skin.FindNamesForSlot(slotIndex, attachmentNames);
|
||||||
|
|
||||||
|
foreach (var skinKey in attachmentNames) {
|
||||||
|
var attachment = skin.GetAttachment(slotIndex, skinKey);
|
||||||
|
var boundingBoxAttachment = attachment as BoundingBoxAttachment;
|
||||||
|
|
||||||
|
if (BoundingBoxFollower.DebugMessages && attachment != null && boundingBoxAttachment == null)
|
||||||
|
Debug.Log("BoundingBoxFollower tried to follow a slot that contains non-boundingbox attachments: " + slotName);
|
||||||
|
|
||||||
|
if (boundingBoxAttachment != null) {
|
||||||
|
var bbCollider = SkeletonUtility.AddBoundingBoxAsComponent(boundingBoxAttachment, slot, gameObject, isTrigger);
|
||||||
|
bbCollider.enabled = false;
|
||||||
|
bbCollider.hideFlags = HideFlags.NotEditable;
|
||||||
|
bbCollider.isTrigger = IsTrigger;
|
||||||
|
colliderTable.Add(boundingBoxAttachment, bbCollider);
|
||||||
|
nameTable.Add(boundingBoxAttachment, skinKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void OnDisable () {
|
void OnDisable () {
|
||||||
if (clearStateOnDisable)
|
if (clearStateOnDisable)
|
||||||
ClearState();
|
ClearState();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user