|
@@ -58,7 +58,7 @@ import com.esotericsoftware.spine.attachments.AttachmentType;
|
|
import com.esotericsoftware.spine.attachments.BoundingBoxAttachment;
|
|
import com.esotericsoftware.spine.attachments.BoundingBoxAttachment;
|
|
import com.esotericsoftware.spine.attachments.MeshAttachment;
|
|
import com.esotericsoftware.spine.attachments.MeshAttachment;
|
|
import com.esotericsoftware.spine.attachments.RegionAttachment;
|
|
import com.esotericsoftware.spine.attachments.RegionAttachment;
|
|
-import com.esotericsoftware.spine.attachments.SkinnedMeshAttachment;
|
|
|
|
|
|
+import com.esotericsoftware.spine.attachments.WeightedMeshAttachment;
|
|
|
|
|
|
public class SkeletonJson {
|
|
public class SkeletonJson {
|
|
private final AttachmentLoader attachmentLoader;
|
|
private final AttachmentLoader attachmentLoader;
|
|
@@ -223,7 +223,9 @@ public class SkeletonJson {
|
|
name = map.getString("name", name);
|
|
name = map.getString("name", name);
|
|
String path = map.getString("path", name);
|
|
String path = map.getString("path", name);
|
|
|
|
|
|
- switch (AttachmentType.valueOf(map.getString("type", AttachmentType.region.name()))) {
|
|
|
|
|
|
+ String type = map.getString("type", AttachmentType.region.name());
|
|
|
|
+ if (type.equals("skinnedmesh")) type = "weightedmesh";
|
|
|
|
+ switch (AttachmentType.valueOf(type)) {
|
|
case region: {
|
|
case region: {
|
|
RegionAttachment region = attachmentLoader.newRegionAttachment(skin, name, path);
|
|
RegionAttachment region = attachmentLoader.newRegionAttachment(skin, name, path);
|
|
if (region == null) return null;
|
|
if (region == null) return null;
|
|
@@ -276,8 +278,8 @@ public class SkeletonJson {
|
|
mesh.setHeight(map.getFloat("height", 0) * scale);
|
|
mesh.setHeight(map.getFloat("height", 0) * scale);
|
|
return mesh;
|
|
return mesh;
|
|
}
|
|
}
|
|
- case skinnedmesh: {
|
|
|
|
- SkinnedMeshAttachment mesh = attachmentLoader.newSkinnedMeshAttachment(skin, name, path);
|
|
|
|
|
|
+ case weightedmesh: {
|
|
|
|
+ WeightedMeshAttachment mesh = attachmentLoader.newWeightedMeshAttachment(skin, name, path);
|
|
if (mesh == null) return null;
|
|
if (mesh == null) return null;
|
|
mesh.setPath(path);
|
|
mesh.setPath(path);
|
|
float[] uvs = map.require("uvs").asFloatArray();
|
|
float[] uvs = map.require("uvs").asFloatArray();
|
|
@@ -443,7 +445,7 @@ public class SkeletonJson {
|
|
if (attachment instanceof MeshAttachment)
|
|
if (attachment instanceof MeshAttachment)
|
|
vertexCount = ((MeshAttachment)attachment).getVertices().length;
|
|
vertexCount = ((MeshAttachment)attachment).getVertices().length;
|
|
else
|
|
else
|
|
- vertexCount = ((SkinnedMeshAttachment)attachment).getWeights().length / 3 * 2;
|
|
|
|
|
|
+ vertexCount = ((WeightedMeshAttachment)attachment).getWeights().length / 3 * 2;
|
|
|
|
|
|
int frameIndex = 0;
|
|
int frameIndex = 0;
|
|
for (JsonValue valueMap = meshMap.child; valueMap != null; valueMap = valueMap.next) {
|
|
for (JsonValue valueMap = meshMap.child; valueMap != null; valueMap = valueMap.next) {
|