From d856ece2f29110ca6ec8cf4f9d057b802ea770d2 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Sun, 6 Jun 2021 23:18:12 -0400 Subject: [PATCH] SkeletonJson clean up. --- spine-as3/spine-as3/src/spine/SkeletonJson.as | 23 +++++++------ spine-csharp/src/SkeletonJson.cs | 32 ++++++++----------- .../esotericsoftware/spine/SkeletonJson.java | 20 ++++++------ spine-ts/core/src/SkeletonJson.ts | 17 +++++----- 4 files changed, 44 insertions(+), 48 deletions(-) diff --git a/spine-as3/spine-as3/src/spine/SkeletonJson.as b/spine-as3/spine-as3/src/spine/SkeletonJson.as index a83662b3f..d94a107d7 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonJson.as +++ b/spine-as3/spine-as3/src/spine/SkeletonJson.as @@ -911,21 +911,20 @@ package spine { var keyMap : Object = keys[0]; var time : Number = getNumber(keyMap, "time", 0); var value : Number = getNumber(keyMap, "value", defaultValue) * scale; - var bezier : int = 0; - for (var frame : int = 0;; frame++) { + for (var frame : int = 0, bezier : int = 0;; frame++) { timeline.setFrame(frame, time, value); var nextMap : Object = keys[frame + 1]; - if (!nextMap) break; + if (!nextMap) { + timeline.shrink(bezier); + return timeline; + } var time2 : Number = getNumber(nextMap, "time", 0); var value2 : Number = getNumber(nextMap, "value", defaultValue) * scale; - var curve : Object = keyMap.curve; - if (curve) bezier = readCurve(curve, timeline, bezier, frame, 0, time, time2, value, value2, scale); + if (keyMap.curve) bezier = readCurve(keyMap.curve, timeline, bezier, frame, 0, time, time2, value, value2, scale); time = time2; value = value2; keyMap = nextMap; } - timeline.shrink(bezier); - return timeline; } static private function readTimeline2(keys : Array, timeline : CurveTimeline2, name1 : String, name2 : String, defaultValue : Number, scale : Number) : CurveTimeline2 { @@ -933,11 +932,13 @@ package spine { var time : Number = getNumber(keyMap, "time", 0); var value1 : Number = getNumber(keyMap, name1, defaultValue) * scale; var value2 : Number = getNumber(keyMap, name2, defaultValue) * scale; - var bezier : int = 0; - for (var frame : int = 0;; frame++) { + for (var frame : int = 0, bezier : int = 0;; frame++) { timeline.setFrame(frame, time, value1, value2); var nextMap : Object = keys[frame + 1]; - if (!nextMap) break; + if (!nextMap) { + timeline.shrink(bezier); + return timeline; + } var time2 : Number = getNumber(nextMap, "time", 0); var nvalue1 : Number = getNumber(nextMap, name1, defaultValue) * scale; var nvalue2 : Number = getNumber(nextMap, name2, defaultValue) * scale; @@ -951,8 +952,6 @@ package spine { value2 = nvalue2; keyMap = nextMap; } - timeline.shrink(bezier); - return timeline; } static private function readCurve(curve : Object, timeline : CurveTimeline, bezier : int, frame : int, value : Number, time1 : Number, time2 : Number, diff --git a/spine-csharp/src/SkeletonJson.cs b/spine-csharp/src/SkeletonJson.cs index 162d9cf27..5fc5b92fc 100644 --- a/spine-csharp/src/SkeletonJson.cs +++ b/spine-csharp/src/SkeletonJson.cs @@ -1058,10 +1058,12 @@ namespace Spine { var keyMap = (Dictionary)keyMapEnumerator.Current; float time = GetFloat(keyMap, "time", 0); float value = GetFloat(keyMap, "value", defaultValue) * scale; - int bezier = 0; - for (int frame = 0; ; frame++) { + for (int frame = 0, bezier = 0; ; frame++) { timeline.SetFrame(frame, time, value); - if (!keyMapEnumerator.MoveNext()) break; + if (!keyMapEnumerator.MoveNext()) { + timeline.Shrink(bezier); + return timeline; + } var nextMap = (Dictionary)keyMapEnumerator.Current; float time2 = GetFloat(nextMap, "time", 0); float value2 = GetFloat(nextMap, "value", defaultValue) * scale; @@ -1073,8 +1075,6 @@ namespace Spine { value = value2; keyMap = nextMap; } - timeline.Shrink(bezier); - return timeline; } static Timeline ReadTimeline (ref List.Enumerator keyMapEnumerator, CurveTimeline2 timeline, String name1, String name2, float defaultValue, @@ -1083,10 +1083,12 @@ namespace Spine { var keyMap = (Dictionary)keyMapEnumerator.Current; float time = GetFloat(keyMap, "time", 0); float value1 = GetFloat(keyMap, name1, defaultValue) * scale, value2 = GetFloat(keyMap, name2, defaultValue) * scale; - int bezier = 0; - for (int frame = 0; ; frame++) { + for (int frame = 0, bezier = 0; ; frame++) { timeline.SetFrame(frame, time, value1, value2); - if (!keyMapEnumerator.MoveNext()) break; + if (!keyMapEnumerator.MoveNext()) { + timeline.Shrink(bezier); + return timeline; + } var nextMap = (Dictionary)keyMapEnumerator.Current; float time2 = GetFloat(nextMap, "time", 0); float nvalue1 = GetFloat(nextMap, name1, defaultValue) * scale, nvalue2 = GetFloat(nextMap, name2, defaultValue) * scale; @@ -1100,8 +1102,6 @@ namespace Spine { value2 = nvalue2; keyMap = nextMap; } - timeline.Shrink(bezier); - return timeline; } static int ReadCurve (object curve, CurveTimeline timeline, int bezier, int frame, int value, float time1, float time2, @@ -1148,26 +1148,22 @@ namespace Spine { } static float GetFloat(Dictionary map, string name, float defaultValue) { - if (!map.ContainsKey(name)) - return defaultValue; + if (!map.ContainsKey(name)) return defaultValue; return (float)map[name]; } static int GetInt(Dictionary map, string name, int defaultValue) { - if (!map.ContainsKey(name)) - return defaultValue; + if (!map.ContainsKey(name)) return defaultValue; return (int)(float)map[name]; } static bool GetBoolean(Dictionary map, string name, bool defaultValue) { - if (!map.ContainsKey(name)) - return defaultValue; + if (!map.ContainsKey(name)) return defaultValue; return (bool)map[name]; } static string GetString(Dictionary map, string name, string defaultValue) { - if (!map.ContainsKey(name)) - return defaultValue; + if (!map.ContainsKey(name)) return defaultValue; return (string)map[name]; } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java index f54f5a65b..af63de325 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java @@ -980,11 +980,13 @@ public class SkeletonJson extends SkeletonLoader { private Timeline readTimeline (JsonValue keyMap, CurveTimeline1 timeline, float defaultValue, float scale) { float time = keyMap.getFloat("time", 0), value = keyMap.getFloat("value", defaultValue) * scale; - int bezier = 0; - for (int frame = 0;; frame++) { + for (int frame = 0, bezier = 0;; frame++) { timeline.setFrame(frame, time, value); JsonValue nextMap = keyMap.next; - if (nextMap == null) break; + if (nextMap == null) { + timeline.shrink(bezier); + return timeline; + } float time2 = nextMap.getFloat("time", 0); float value2 = nextMap.getFloat("value", defaultValue) * scale; JsonValue curve = keyMap.get("curve"); @@ -993,19 +995,19 @@ public class SkeletonJson extends SkeletonLoader { value = value2; keyMap = nextMap; } - timeline.shrink(bezier); - return timeline; } private Timeline readTimeline (JsonValue keyMap, CurveTimeline2 timeline, String name1, String name2, float defaultValue, float scale) { float time = keyMap.getFloat("time", 0); float value1 = keyMap.getFloat(name1, defaultValue) * scale, value2 = keyMap.getFloat(name2, defaultValue) * scale; - int bezier = 0; - for (int frame = 0;; frame++) { + for (int frame = 0, bezier = 0;; frame++) { timeline.setFrame(frame, time, value1, value2); JsonValue nextMap = keyMap.next; - if (nextMap == null) break; + if (nextMap == null) { + timeline.shrink(bezier); + return timeline; + } float time2 = nextMap.getFloat("time", 0); float nvalue1 = nextMap.getFloat(name1, defaultValue) * scale, nvalue2 = nextMap.getFloat(name2, defaultValue) * scale; JsonValue curve = keyMap.get("curve"); @@ -1018,8 +1020,6 @@ public class SkeletonJson extends SkeletonLoader { value2 = nvalue2; keyMap = nextMap; } - timeline.shrink(bezier); - return timeline; } int readCurve (JsonValue curve, CurveTimeline timeline, int bezier, int frame, int value, float time1, float time2, diff --git a/spine-ts/core/src/SkeletonJson.ts b/spine-ts/core/src/SkeletonJson.ts index 238736f30..82b223369 100644 --- a/spine-ts/core/src/SkeletonJson.ts +++ b/spine-ts/core/src/SkeletonJson.ts @@ -903,17 +903,17 @@ module spine { for (let frame = 0;; frame++) { timeline.setFrame(frame, time, value); let nextMap = keys[frame + 1]; - if (!nextMap) break; + if (!nextMap) { + timeline.shrink(bezier); + return timeline; + } let time2 = getValue(nextMap, "time", 0); let value2 = getValue(nextMap, "value", defaultValue) * scale; - let curve = keyMap.curve; - if (curve) bezier = readCurve(curve, timeline, bezier, frame, 0, time, time2, value, value2, scale); + if (keyMap.curve) bezier = readCurve(keyMap.curve, timeline, bezier, frame, 0, time, time2, value, value2, scale); time = time2; value = value2; keyMap = nextMap; } - timeline.shrink(bezier); - return timeline; } function readTimeline2 (keys: any[], timeline: CurveTimeline2, name1: string, name2: string, defaultValue: number, scale: number) { @@ -925,7 +925,10 @@ module spine { for (let frame = 0;; frame++) { timeline.setFrame(frame, time, value1, value2); let nextMap = keys[frame + 1]; - if (!nextMap) break; + if (!nextMap) { + timeline.shrink(bezier); + return timeline; + } let time2 = getValue(nextMap, "time", 0); let nvalue1 = getValue(nextMap, name1, defaultValue) * scale; let nvalue2 = getValue(nextMap, name2, defaultValue) * scale; @@ -939,8 +942,6 @@ module spine { value2 = nvalue2; keyMap = nextMap; } - timeline.shrink(bezier); - return timeline; } function readCurve (curve: any, timeline: CurveTimeline, bezier: number, frame: number, value: number, time1: number, time2: number,