SkeletonJson clean up.

This commit is contained in:
Nathan Sweet 2021-06-06 23:18:12 -04:00
parent 0b26b5e74a
commit d856ece2f2
4 changed files with 44 additions and 48 deletions

View File

@ -911,21 +911,20 @@ package spine {
var keyMap : Object = keys[0]; var keyMap : Object = keys[0];
var time : Number = getNumber(keyMap, "time", 0); var time : Number = getNumber(keyMap, "time", 0);
var value : Number = getNumber(keyMap, "value", defaultValue) * scale; var value : Number = getNumber(keyMap, "value", defaultValue) * scale;
var bezier : int = 0; for (var frame : int = 0, bezier : int = 0;; frame++) {
for (var frame : int = 0;; frame++) {
timeline.setFrame(frame, time, value); timeline.setFrame(frame, time, value);
var nextMap : Object = keys[frame + 1]; var nextMap : Object = keys[frame + 1];
if (!nextMap) break; if (!nextMap) {
timeline.shrink(bezier);
return timeline;
}
var time2 : Number = getNumber(nextMap, "time", 0); var time2 : Number = getNumber(nextMap, "time", 0);
var value2 : Number = getNumber(nextMap, "value", defaultValue) * scale; var value2 : Number = getNumber(nextMap, "value", defaultValue) * scale;
var curve : Object = keyMap.curve; if (keyMap.curve) bezier = readCurve(keyMap.curve, timeline, bezier, frame, 0, time, time2, value, value2, scale);
if (curve) bezier = readCurve(curve, timeline, bezier, frame, 0, time, time2, value, value2, scale);
time = time2; time = time2;
value = value2; value = value2;
keyMap = nextMap; keyMap = nextMap;
} }
timeline.shrink(bezier);
return timeline;
} }
static private function readTimeline2(keys : Array, timeline : CurveTimeline2, name1 : String, name2 : String, defaultValue : Number, scale : Number) : CurveTimeline2 { 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 time : Number = getNumber(keyMap, "time", 0);
var value1 : Number = getNumber(keyMap, name1, defaultValue) * scale; var value1 : Number = getNumber(keyMap, name1, defaultValue) * scale;
var value2 : Number = getNumber(keyMap, name2, defaultValue) * scale; var value2 : Number = getNumber(keyMap, name2, defaultValue) * scale;
var bezier : int = 0; for (var frame : int = 0, bezier : int = 0;; frame++) {
for (var frame : int = 0;; frame++) {
timeline.setFrame(frame, time, value1, value2); timeline.setFrame(frame, time, value1, value2);
var nextMap : Object = keys[frame + 1]; var nextMap : Object = keys[frame + 1];
if (!nextMap) break; if (!nextMap) {
timeline.shrink(bezier);
return timeline;
}
var time2 : Number = getNumber(nextMap, "time", 0); var time2 : Number = getNumber(nextMap, "time", 0);
var nvalue1 : Number = getNumber(nextMap, name1, defaultValue) * scale; var nvalue1 : Number = getNumber(nextMap, name1, defaultValue) * scale;
var nvalue2 : Number = getNumber(nextMap, name2, defaultValue) * scale; var nvalue2 : Number = getNumber(nextMap, name2, defaultValue) * scale;
@ -951,8 +952,6 @@ package spine {
value2 = nvalue2; value2 = nvalue2;
keyMap = nextMap; 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, static private function readCurve(curve : Object, timeline : CurveTimeline, bezier : int, frame : int, value : Number, time1 : Number, time2 : Number,

View File

@ -1058,10 +1058,12 @@ namespace Spine {
var keyMap = (Dictionary<string, Object>)keyMapEnumerator.Current; var keyMap = (Dictionary<string, Object>)keyMapEnumerator.Current;
float time = GetFloat(keyMap, "time", 0); float time = GetFloat(keyMap, "time", 0);
float value = GetFloat(keyMap, "value", defaultValue) * scale; float value = GetFloat(keyMap, "value", defaultValue) * scale;
int bezier = 0; for (int frame = 0, bezier = 0; ; frame++) {
for (int frame = 0; ; frame++) {
timeline.SetFrame(frame, time, value); timeline.SetFrame(frame, time, value);
if (!keyMapEnumerator.MoveNext()) break; if (!keyMapEnumerator.MoveNext()) {
timeline.Shrink(bezier);
return timeline;
}
var nextMap = (Dictionary<string, Object>)keyMapEnumerator.Current; var nextMap = (Dictionary<string, Object>)keyMapEnumerator.Current;
float time2 = GetFloat(nextMap, "time", 0); float time2 = GetFloat(nextMap, "time", 0);
float value2 = GetFloat(nextMap, "value", defaultValue) * scale; float value2 = GetFloat(nextMap, "value", defaultValue) * scale;
@ -1073,8 +1075,6 @@ namespace Spine {
value = value2; value = value2;
keyMap = nextMap; keyMap = nextMap;
} }
timeline.Shrink(bezier);
return timeline;
} }
static Timeline ReadTimeline (ref List<object>.Enumerator keyMapEnumerator, CurveTimeline2 timeline, String name1, String name2, float defaultValue, static Timeline ReadTimeline (ref List<object>.Enumerator keyMapEnumerator, CurveTimeline2 timeline, String name1, String name2, float defaultValue,
@ -1083,10 +1083,12 @@ namespace Spine {
var keyMap = (Dictionary<string, Object>)keyMapEnumerator.Current; var keyMap = (Dictionary<string, Object>)keyMapEnumerator.Current;
float time = GetFloat(keyMap, "time", 0); float time = GetFloat(keyMap, "time", 0);
float value1 = GetFloat(keyMap, name1, defaultValue) * scale, value2 = GetFloat(keyMap, name2, defaultValue) * scale; float value1 = GetFloat(keyMap, name1, defaultValue) * scale, value2 = GetFloat(keyMap, name2, defaultValue) * scale;
int bezier = 0; for (int frame = 0, bezier = 0; ; frame++) {
for (int frame = 0; ; frame++) {
timeline.SetFrame(frame, time, value1, value2); timeline.SetFrame(frame, time, value1, value2);
if (!keyMapEnumerator.MoveNext()) break; if (!keyMapEnumerator.MoveNext()) {
timeline.Shrink(bezier);
return timeline;
}
var nextMap = (Dictionary<string, Object>)keyMapEnumerator.Current; var nextMap = (Dictionary<string, Object>)keyMapEnumerator.Current;
float time2 = GetFloat(nextMap, "time", 0); float time2 = GetFloat(nextMap, "time", 0);
float nvalue1 = GetFloat(nextMap, name1, defaultValue) * scale, nvalue2 = GetFloat(nextMap, name2, defaultValue) * scale; float nvalue1 = GetFloat(nextMap, name1, defaultValue) * scale, nvalue2 = GetFloat(nextMap, name2, defaultValue) * scale;
@ -1100,8 +1102,6 @@ namespace Spine {
value2 = nvalue2; value2 = nvalue2;
keyMap = nextMap; keyMap = nextMap;
} }
timeline.Shrink(bezier);
return timeline;
} }
static int ReadCurve (object curve, CurveTimeline timeline, int bezier, int frame, int value, float time1, float time2, 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<string, Object> map, string name, float defaultValue) { static float GetFloat(Dictionary<string, Object> map, string name, float defaultValue) {
if (!map.ContainsKey(name)) if (!map.ContainsKey(name)) return defaultValue;
return defaultValue;
return (float)map[name]; return (float)map[name];
} }
static int GetInt(Dictionary<string, Object> map, string name, int defaultValue) { static int GetInt(Dictionary<string, Object> map, string name, int defaultValue) {
if (!map.ContainsKey(name)) if (!map.ContainsKey(name)) return defaultValue;
return defaultValue;
return (int)(float)map[name]; return (int)(float)map[name];
} }
static bool GetBoolean(Dictionary<string, Object> map, string name, bool defaultValue) { static bool GetBoolean(Dictionary<string, Object> map, string name, bool defaultValue) {
if (!map.ContainsKey(name)) if (!map.ContainsKey(name)) return defaultValue;
return defaultValue;
return (bool)map[name]; return (bool)map[name];
} }
static string GetString(Dictionary<string, Object> map, string name, string defaultValue) { static string GetString(Dictionary<string, Object> map, string name, string defaultValue) {
if (!map.ContainsKey(name)) if (!map.ContainsKey(name)) return defaultValue;
return defaultValue;
return (string)map[name]; return (string)map[name];
} }

View File

@ -980,11 +980,13 @@ public class SkeletonJson extends SkeletonLoader {
private Timeline readTimeline (JsonValue keyMap, CurveTimeline1 timeline, float defaultValue, float scale) { private Timeline readTimeline (JsonValue keyMap, CurveTimeline1 timeline, float defaultValue, float scale) {
float time = keyMap.getFloat("time", 0), value = keyMap.getFloat("value", defaultValue) * scale; float time = keyMap.getFloat("time", 0), value = keyMap.getFloat("value", defaultValue) * scale;
int bezier = 0; for (int frame = 0, bezier = 0;; frame++) {
for (int frame = 0;; frame++) {
timeline.setFrame(frame, time, value); timeline.setFrame(frame, time, value);
JsonValue nextMap = keyMap.next; JsonValue nextMap = keyMap.next;
if (nextMap == null) break; if (nextMap == null) {
timeline.shrink(bezier);
return timeline;
}
float time2 = nextMap.getFloat("time", 0); float time2 = nextMap.getFloat("time", 0);
float value2 = nextMap.getFloat("value", defaultValue) * scale; float value2 = nextMap.getFloat("value", defaultValue) * scale;
JsonValue curve = keyMap.get("curve"); JsonValue curve = keyMap.get("curve");
@ -993,19 +995,19 @@ public class SkeletonJson extends SkeletonLoader {
value = value2; value = value2;
keyMap = nextMap; keyMap = nextMap;
} }
timeline.shrink(bezier);
return timeline;
} }
private Timeline readTimeline (JsonValue keyMap, CurveTimeline2 timeline, String name1, String name2, float defaultValue, private Timeline readTimeline (JsonValue keyMap, CurveTimeline2 timeline, String name1, String name2, float defaultValue,
float scale) { float scale) {
float time = keyMap.getFloat("time", 0); float time = keyMap.getFloat("time", 0);
float value1 = keyMap.getFloat(name1, defaultValue) * scale, value2 = keyMap.getFloat(name2, defaultValue) * scale; float value1 = keyMap.getFloat(name1, defaultValue) * scale, value2 = keyMap.getFloat(name2, defaultValue) * scale;
int bezier = 0; for (int frame = 0, bezier = 0;; frame++) {
for (int frame = 0;; frame++) {
timeline.setFrame(frame, time, value1, value2); timeline.setFrame(frame, time, value1, value2);
JsonValue nextMap = keyMap.next; JsonValue nextMap = keyMap.next;
if (nextMap == null) break; if (nextMap == null) {
timeline.shrink(bezier);
return timeline;
}
float time2 = nextMap.getFloat("time", 0); float time2 = nextMap.getFloat("time", 0);
float nvalue1 = nextMap.getFloat(name1, defaultValue) * scale, nvalue2 = nextMap.getFloat(name2, defaultValue) * scale; float nvalue1 = nextMap.getFloat(name1, defaultValue) * scale, nvalue2 = nextMap.getFloat(name2, defaultValue) * scale;
JsonValue curve = keyMap.get("curve"); JsonValue curve = keyMap.get("curve");
@ -1018,8 +1020,6 @@ public class SkeletonJson extends SkeletonLoader {
value2 = nvalue2; value2 = nvalue2;
keyMap = nextMap; keyMap = nextMap;
} }
timeline.shrink(bezier);
return timeline;
} }
int readCurve (JsonValue curve, CurveTimeline timeline, int bezier, int frame, int value, float time1, float time2, int readCurve (JsonValue curve, CurveTimeline timeline, int bezier, int frame, int value, float time1, float time2,

View File

@ -903,17 +903,17 @@ module spine {
for (let frame = 0;; frame++) { for (let frame = 0;; frame++) {
timeline.setFrame(frame, time, value); timeline.setFrame(frame, time, value);
let nextMap = keys[frame + 1]; let nextMap = keys[frame + 1];
if (!nextMap) break; if (!nextMap) {
timeline.shrink(bezier);
return timeline;
}
let time2 = getValue(nextMap, "time", 0); let time2 = getValue(nextMap, "time", 0);
let value2 = getValue(nextMap, "value", defaultValue) * scale; let value2 = getValue(nextMap, "value", defaultValue) * scale;
let curve = keyMap.curve; if (keyMap.curve) bezier = readCurve(keyMap.curve, timeline, bezier, frame, 0, time, time2, value, value2, scale);
if (curve) bezier = readCurve(curve, timeline, bezier, frame, 0, time, time2, value, value2, scale);
time = time2; time = time2;
value = value2; value = value2;
keyMap = nextMap; keyMap = nextMap;
} }
timeline.shrink(bezier);
return timeline;
} }
function readTimeline2 (keys: any[], timeline: CurveTimeline2, name1: string, name2: string, defaultValue: number, scale: number) { 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++) { for (let frame = 0;; frame++) {
timeline.setFrame(frame, time, value1, value2); timeline.setFrame(frame, time, value1, value2);
let nextMap = keys[frame + 1]; let nextMap = keys[frame + 1];
if (!nextMap) break; if (!nextMap) {
timeline.shrink(bezier);
return timeline;
}
let time2 = getValue(nextMap, "time", 0); let time2 = getValue(nextMap, "time", 0);
let nvalue1 = getValue(nextMap, name1, defaultValue) * scale; let nvalue1 = getValue(nextMap, name1, defaultValue) * scale;
let nvalue2 = getValue(nextMap, name2, defaultValue) * scale; let nvalue2 = getValue(nextMap, name2, defaultValue) * scale;
@ -939,8 +942,6 @@ module spine {
value2 = nvalue2; value2 = nvalue2;
keyMap = nextMap; keyMap = nextMap;
} }
timeline.shrink(bezier);
return timeline;
} }
function readCurve (curve: any, timeline: CurveTimeline, bezier: number, frame: number, value: number, time1: number, time2: number, function readCurve (curve: any, timeline: CurveTimeline, bezier: number, frame: number, value: number, time1: number, time2: number,