From 8f7a9254f4ed8430dd672e9799fbc4e7ce8eec1a Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Mon, 1 Mar 2021 17:51:42 +0100 Subject: [PATCH] Minor Skeleton Viewer improvements. --- .../esotericsoftware/spine/SkeletonViewer.java | 16 ++++++++-------- .../esotericsoftware/spine/SkeletonViewerUI.java | 3 +-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java index 95b942269..2904e8817 100644 --- a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java +++ b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java @@ -116,9 +116,11 @@ public class SkeletonViewer extends ApplicationAdapter { } } - void loadSkeleton (final @Null FileHandle skeletonFile) { - if (skeletonFile == null) return; + boolean loadSkeleton (final @Null FileHandle skeletonFile) { + if (skeletonFile == null) return false; + FileHandle oldSkeletonFile = this.skeletonFile; this.skeletonFile = skeletonFile; + reloadTimer = 0; try { atlas = new SkeletonViewAtlas(this, skeletonFile); @@ -137,9 +139,8 @@ public class SkeletonViewer extends ApplicationAdapter { System.out.println("Error loading skeleton: " + skeletonFile.file().getAbsolutePath()); ex.printStackTrace(); ui.toast("Error loading skeleton: " + skeletonFile.name()); - lastModifiedCheck = 5; - this.skeletonFile = null; - return; + this.skeletonFile = oldSkeletonFile; + return false; } skeleton = new Skeleton(skeletonData); @@ -150,7 +151,6 @@ public class SkeletonViewer extends ApplicationAdapter { state = new AnimationState(new AnimationStateData(skeletonData)); state.addListener(new AnimationStateAdapter() { - public void event (TrackEntry entry, Event event) { ui.toast(event.getData().getName()); } @@ -166,7 +166,6 @@ public class SkeletonViewer extends ApplicationAdapter { ui.window.getTitleLabel().setText(skeletonFile.name()); { - Array items = new Array(); for (Skin skin : skeletonData.getSkins()) items.add(skin.getName()); @@ -184,6 +183,7 @@ public class SkeletonViewer extends ApplicationAdapter { if (ui.skinList.getSelected() != null) skeleton.setSkin(ui.skinList.getSelected()); setAnimation(); + return true; } void setAnimation () { @@ -232,7 +232,7 @@ public class SkeletonViewer extends ApplicationAdapter { long time = skeletonFile.lastModified(); if (time != 0 && skeletonModified != time) reloadTimer = reloadDelay; time = atlas.lastModified(); - if (time != 0 && atlasModified != time) reloadTimer = reloadDelay; + if (time != 0 && atlasModified != 0 && atlasModified != time) reloadTimer = reloadDelay; } } else { reloadTimer -= delta; diff --git a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewerUI.java b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewerUI.java index f0e16dad4..50a87cc33 100644 --- a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewerUI.java +++ b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewerUI.java @@ -331,8 +331,7 @@ class SkeletonViewerUI { String name = fileDialog.getFile(); String dir = fileDialog.getDirectory(); if (name == null || dir == null) return; - viewer.loadSkeleton(new FileHandle(new File(dir, name).getAbsolutePath())); - toast("Loaded."); + if (viewer.loadSkeleton(new FileHandle(new File(dir, name).getAbsolutePath()))) toast("Loaded."); } });