mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-06 07:14:55 +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) {
|
||||
foreach (var skin in skeleton.Data.Skins) {
|
||||
var attachmentNames = new List<string>();
|
||||
skin.FindNamesForSlot(slotIndex, attachmentNames);
|
||||
foreach (var skin in skeleton.Data.Skins)
|
||||
AddSkin(skin, skeleton, slotIndex);
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
AddSkin(skeleton.skin, skeleton, slotIndex);
|
||||
}
|
||||
|
||||
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 () {
|
||||
if (clearStateOnDisable)
|
||||
ClearState();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user