[unity] Added skinField param to [SpineAttachment] attribute.

This commit is contained in:
pharan 2017-05-19 08:45:55 +08:00
parent 3fe876adcd
commit d1a2b3125f
2 changed files with 12 additions and 3 deletions

View File

@ -254,8 +254,15 @@ namespace Spine.Unity.Editor {
ISkeletonComponent skeletonComponent = GetTargetSkeletonComponent(property);
var validSkins = new List<Skin>();
if (skeletonComponent != null && targetAttribute.currentSkinOnly) {
var currentSkin = skeletonComponent.Skeleton.Skin;
Skin currentSkin = null;
var skinProperty = property.FindPropertyRelative(targetAttribute.skinField);
if (skinProperty != null) currentSkin = skeletonComponent.Skeleton.Data.FindSkin(skinProperty.stringValue);
currentSkin = currentSkin ?? skeletonComponent.Skeleton.Skin;
if (currentSkin != null)
validSkins.Add(currentSkin);
else

View File

@ -114,6 +114,7 @@ namespace Spine.Unity {
public bool returnAttachmentPath = false;
public bool currentSkinOnly = false;
public bool placeholdersOnly = false;
public string skinField = "";
public string slotField = "";
/// <summary>
@ -127,12 +128,13 @@ namespace Spine.Unity {
/// Valid types are SkeletonDataAsset and SkeletonRenderer (and derivatives)
/// If left empty and the script the attribute is applied to is derived from Component, GetComponent<SkeletonRenderer>() will be called as a fallback.
/// </param>
public SpineAttachment (bool currentSkinOnly = true, bool returnAttachmentPath = false, bool placeholdersOnly = false, string slotField = "", string dataField = "", bool includeNone = true) {
public SpineAttachment (bool currentSkinOnly = true, bool returnAttachmentPath = false, bool placeholdersOnly = false, string slotField = "", string dataField = "", string skinField = "", bool includeNone = true) {
this.currentSkinOnly = currentSkinOnly;
this.returnAttachmentPath = returnAttachmentPath;
this.placeholdersOnly = placeholdersOnly;
this.slotField = slotField;
this.dataField = dataField;
this.dataField = dataField;
this.skinField = skinField;
this.includeNone = includeNone;
}