mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[libgdx] Added bone and slot visibility nonessential data.
This commit is contained in:
parent
d4452009ae
commit
4f58767740
@ -47,6 +47,7 @@ public class BoneData {
|
|||||||
// Nonessential.
|
// Nonessential.
|
||||||
final Color color = new Color(0.61f, 0.61f, 0.61f, 1); // 9b9b9bff
|
final Color color = new Color(0.61f, 0.61f, 0.61f, 1); // 9b9b9bff
|
||||||
@Null String icon;
|
@Null String icon;
|
||||||
|
boolean visible;
|
||||||
|
|
||||||
public BoneData (int index, String name, @Null BoneData parent) {
|
public BoneData (int index, String name, @Null BoneData parent) {
|
||||||
if (index < 0) throw new IllegalArgumentException("index must be >= 0.");
|
if (index < 0) throw new IllegalArgumentException("index must be >= 0.");
|
||||||
@ -205,6 +206,15 @@ public class BoneData {
|
|||||||
this.icon = icon;
|
this.icon = icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** False if the bone was hidden in Spine and nonessential data was exported. Does not affect runtime rendering. */
|
||||||
|
public boolean getVisible () {
|
||||||
|
return visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVisible (boolean visible) {
|
||||||
|
this.visible = visible;
|
||||||
|
}
|
||||||
|
|
||||||
public String toString () {
|
public String toString () {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -211,6 +211,7 @@ public class SkeletonBinary extends SkeletonLoader {
|
|||||||
if (nonessential) {
|
if (nonessential) {
|
||||||
Color.rgba8888ToColor(data.color, input.readInt());
|
Color.rgba8888ToColor(data.color, input.readInt());
|
||||||
data.icon = input.readString();
|
data.icon = input.readString();
|
||||||
|
data.visible = input.readBoolean();
|
||||||
}
|
}
|
||||||
bones[i] = data;
|
bones[i] = data;
|
||||||
}
|
}
|
||||||
@ -228,6 +229,7 @@ public class SkeletonBinary extends SkeletonLoader {
|
|||||||
|
|
||||||
data.attachmentName = input.readStringRef();
|
data.attachmentName = input.readStringRef();
|
||||||
data.blendMode = BlendMode.values[input.readInt(true)];
|
data.blendMode = BlendMode.values[input.readInt(true)];
|
||||||
|
if (nonessential) data.visible = input.readBoolean();
|
||||||
slots[i] = data;
|
slots[i] = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -171,6 +171,7 @@ public class SkeletonJson extends SkeletonLoader {
|
|||||||
if (color != null) Color.valueOf(color, data.getColor());
|
if (color != null) Color.valueOf(color, data.getColor());
|
||||||
|
|
||||||
data.icon = boneMap.getString("icon", null);
|
data.icon = boneMap.getString("icon", null);
|
||||||
|
data.visible = boneMap.getBoolean("visible", true);
|
||||||
|
|
||||||
skeletonData.bones.add(data);
|
skeletonData.bones.add(data);
|
||||||
}
|
}
|
||||||
@ -191,6 +192,7 @@ public class SkeletonJson extends SkeletonLoader {
|
|||||||
|
|
||||||
data.attachmentName = slotMap.getString("attachment", null);
|
data.attachmentName = slotMap.getString("attachment", null);
|
||||||
data.blendMode = BlendMode.valueOf(slotMap.getString("blend", BlendMode.normal.name()));
|
data.blendMode = BlendMode.valueOf(slotMap.getString("blend", BlendMode.normal.name()));
|
||||||
|
data.visible = slotMap.getBoolean("visible", true);
|
||||||
skeletonData.slots.add(data);
|
skeletonData.slots.add(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -351,6 +353,10 @@ public class SkeletonJson extends SkeletonLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String color = skinMap.getString("color", null);
|
||||||
|
if (color != null) Color.valueOf(color, skin.getColor());
|
||||||
|
|
||||||
skeletonData.skins.add(skin);
|
skeletonData.skins.add(skin);
|
||||||
if (skin.name.equals("default")) skeletonData.defaultSkin = skin;
|
if (skin.name.equals("default")) skeletonData.defaultSkin = skin;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,6 +42,9 @@ public class SlotData {
|
|||||||
@Null String attachmentName;
|
@Null String attachmentName;
|
||||||
BlendMode blendMode;
|
BlendMode blendMode;
|
||||||
|
|
||||||
|
// Nonessential.
|
||||||
|
boolean visible = true;
|
||||||
|
|
||||||
public SlotData (int index, String name, BoneData boneData) {
|
public SlotData (int index, String name, BoneData boneData) {
|
||||||
if (index < 0) throw new IllegalArgumentException("index must be >= 0.");
|
if (index < 0) throw new IllegalArgumentException("index must be >= 0.");
|
||||||
if (name == null) throw new IllegalArgumentException("name cannot be null.");
|
if (name == null) throw new IllegalArgumentException("name cannot be null.");
|
||||||
@ -101,6 +104,15 @@ public class SlotData {
|
|||||||
this.blendMode = blendMode;
|
this.blendMode = blendMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** False if the slot was hidden in Spine and nonessential data was exported. Does not affect runtime rendering. */
|
||||||
|
public boolean getVisible () {
|
||||||
|
return visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVisible (boolean visible) {
|
||||||
|
this.visible = visible;
|
||||||
|
}
|
||||||
|
|
||||||
public String toString () {
|
public String toString () {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user