Formatting.

This commit is contained in:
NathanSweet 2016-04-15 16:51:32 +02:00
parent 108dd3dd97
commit 516c59b303

View File

@ -52,18 +52,18 @@ package spine {
import spine.attachments.WeightedMeshAttachment;
public class SkeletonJson {
public var attachmentLoader : AttachmentLoader;
public var scale : Number = 1;
public var attachmentLoader:AttachmentLoader;
public var scale:Number = 1;
public function SkeletonJson(attachmentLoader : AttachmentLoader = null) {
public function SkeletonJson(attachmentLoader:AttachmentLoader = null) {
this.attachmentLoader = attachmentLoader;
}
/** @param object A String or ByteArray. */
public function readSkeletonData(object : *, name : String = null) : SkeletonData {
public function readSkeletonData(object:*, name:String = null) : SkeletonData {
if (object == null) throw new ArgumentError("object cannot be null.");
var root : Object;
var root:Object;
if (object is String)
root = JSON.parse(String(object));
else if (object is ByteArray)
@ -73,11 +73,11 @@ package spine {
else
throw new ArgumentError("object must be a String, ByteArray or Object.");
var skeletonData : SkeletonData = new SkeletonData();
var skeletonData:SkeletonData = new SkeletonData();
skeletonData.name = name;
// Skeleton.
var skeletonMap : Object = root["skeleton"];
var skeletonMap:Object = root["skeleton"];
if (skeletonMap) {
skeletonData.hash = skeletonMap["hash"];
skeletonData.version = skeletonMap["spine"];
@ -86,10 +86,10 @@ package spine {
}
// Bones.
var boneData : BoneData;
for each (var boneMap : Object in root["bones"]) {
var parent : BoneData = null;
var parentName : String = boneMap["parent"];
var boneData:BoneData;
for each (var boneMap:Object in root["bones"]) {
var parent:BoneData = null;
var parentName:String = boneMap["parent"];
if (parentName) {
parent = skeletonData.findBone(parentName);
if (!parent) throw new Error("Parent bone not found: " + parentName);
@ -107,11 +107,11 @@ package spine {
}
// IK constraints.
for each (var ikMap : Object in root["ik"]) {
var ikConstraintData : IkConstraintData = new IkConstraintData(ikMap["name"]);
for each (var ikMap:Object in root["ik"]) {
var ikConstraintData:IkConstraintData = new IkConstraintData(ikMap["name"]);
for each (var boneName : String in ikMap["bones"]) {
var bone : BoneData = skeletonData.findBone(boneName);
for each (var boneName:String in ikMap["bones"]) {
var bone:BoneData = skeletonData.findBone(boneName);
if (!bone) throw new Error("IK bone not found: " + boneName);
ikConstraintData.bones[ikConstraintData.bones.length] = bone;
}
@ -126,8 +126,8 @@ package spine {
}
// Transform constraints.
for each (var transformMap : Object in root["transform"]) {
var transformConstraintData : TransformConstraintData = new TransformConstraintData(transformMap["name"]);
for each (var transformMap:Object in root["transform"]) {
var transformConstraintData:TransformConstraintData = new TransformConstraintData(transformMap["name"]);
transformConstraintData.bone = skeletonData.findBone(transformMap["bone"]);
if (!transformConstraintData.bone) throw new Error("Bone not found: " + transformMap["bone"]);
@ -143,13 +143,13 @@ package spine {
}
// Slots.
for each (var slotMap : Object in root["slots"]) {
for each (var slotMap:Object in root["slots"]) {
boneName = slotMap["bone"];
boneData = skeletonData.findBone(boneName);
if (!boneData) throw new Error("Slot bone not found: " + boneName);
var slotData : SlotData = new SlotData(slotMap["name"], boneData);
var slotData:SlotData = new SlotData(slotMap["name"], boneData);
var color : String = slotMap["color"];
var color:String = slotMap["color"];
if (color) {
slotData.r = toColor(color, 0);
slotData.g = toColor(color, 1);
@ -164,15 +164,15 @@ package spine {
}
// Skins.
var skins : Object = root["skins"];
for (var skinName : String in skins) {
var skinMap : Object = skins[skinName];
var skin : Skin = new Skin(skinName);
for (var slotName : String in skinMap) {
var slotIndex : int = skeletonData.findSlotIndex(slotName);
var slotEntry : Object = skinMap[slotName];
for (var attachmentName : String in slotEntry) {
var attachment : Attachment = readAttachment(skin, attachmentName, slotEntry[attachmentName]);
var skins:Object = root["skins"];
for (var skinName:String in skins) {
var skinMap:Object = skins[skinName];
var skin:Skin = new Skin(skinName);
for (var slotName:String in skinMap) {
var slotIndex:int = skeletonData.findSlotIndex(slotName);
var slotEntry:Object = skinMap[slotName];
for (var attachmentName:String in slotEntry) {
var attachment:Attachment = readAttachment(skin, attachmentName, slotEntry[attachmentName]);
if (attachment != null)
skin.addAttachment(slotIndex, attachmentName, attachment);
}
@ -183,11 +183,11 @@ package spine {
}
// Events.
var events : Object = root["events"];
var events:Object = root["events"];
if (events) {
for (var eventName : String in events) {
var eventMap : Object = events[eventName];
var eventData : EventData = new EventData(eventName);
for (var eventName:String in events) {
var eventMap:Object = events[eventName];
var eventData:EventData = new EventData(eventName);
eventData.intValue = eventMap["int"] || 0;
eventData.floatValue = eventMap["float"] || 0;
eventData.stringValue = eventMap["string"] || null;
@ -196,26 +196,26 @@ package spine {
}
// Animations.
var animations : Object = root["animations"];
for (var animationName : String in animations)
var animations:Object = root["animations"];
for (var animationName:String in animations)
readAnimation(animationName, animations[animationName], skeletonData);
return skeletonData;
}
private function readAttachment(skin : Skin, name : String, map : Object) : Attachment {
private function readAttachment(skin:Skin, name:String, map:Object) : Attachment {
name = map["name"] || name;
var typeName : String = map["type"] || "region";
var typeName:String = map["type"] || "region";
if (typeName == "skinnedmesh") typeName = "weightedmesh";
var type : AttachmentType = AttachmentType[typeName];
var path : String = map["path"] || name;
var type:AttachmentType = AttachmentType[typeName];
var path:String = map["path"] || name;
var scale : Number = this.scale;
var color : String, vertices : Vector.<Number>;
var scale:Number = this.scale;
var color:String, vertices:Vector.<Number>;
switch (type) {
case AttachmentType.region:
var region : RegionAttachment = attachmentLoader.newRegionAttachment(skin, name, path);
var region:RegionAttachment = attachmentLoader.newRegionAttachment(skin, name, path);
if (!region) return null;
region.path = path;
region.x = Number(map["x"] || 0) * scale;
@ -235,7 +235,7 @@ package spine {
region.updateOffset();
return region;
case AttachmentType.mesh:
var mesh : MeshAttachment = attachmentLoader.newMeshAttachment(skin, name, path);
var mesh:MeshAttachment = attachmentLoader.newMeshAttachment(skin, name, path);
if (!mesh) return null;
mesh.path = path;
mesh.vertices = getFloatArray(map, "vertices", scale);
@ -255,17 +255,17 @@ package spine {
mesh.height = Number(map["height"] || 0) * scale;
return mesh;
case AttachmentType.weightedmesh:
var weightedMesh : WeightedMeshAttachment = attachmentLoader.newWeightedMeshAttachment(skin, name, path);
var weightedMesh:WeightedMeshAttachment = attachmentLoader.newWeightedMeshAttachment(skin, name, path);
if (!weightedMesh) return null;
weightedMesh.path = path;
var uvs : Vector.<Number> = getFloatArray(map, "uvs", 1);
var uvs:Vector.<Number> = getFloatArray(map, "uvs", 1);
vertices = getFloatArray(map, "vertices", 1);
var weights : Vector.<Number> = new Vector.<Number>();
var bones : Vector.<int> = new Vector.<int>();
for (var i : int = 0, n : int = vertices.length; i < n;) {
var boneCount : int = int(vertices[i++]);
var weights:Vector.<Number> = new Vector.<Number>();
var bones:Vector.<int> = new Vector.<int>();
for (var i:int = 0, n:int = vertices.length; i < n;) {
var boneCount:int = int(vertices[i++]);
bones[bones.length] = boneCount;
for (var nn : int = i + boneCount * 4; i < nn;) {
for (var nn:int = i + boneCount * 4; i < nn;) {
bones[bones.length] = vertices[i];
weights[weights.length] = vertices[i + 1] * scale;
weights[weights.length] = vertices[i + 2] * scale;
@ -291,9 +291,9 @@ package spine {
weightedMesh.height = Number(map["height"] || 0) * scale;
return weightedMesh;
case AttachmentType.boundingbox:
var box : BoundingBoxAttachment = attachmentLoader.newBoundingBoxAttachment(skin, name);
var box:BoundingBoxAttachment = attachmentLoader.newBoundingBoxAttachment(skin, name);
vertices = box.vertices;
for each (var point : Number in map["vertices"])
for each (var point:Number in map["vertices"])
vertices[vertices.length] = point * scale;
return box;
}
@ -301,16 +301,16 @@ package spine {
return null;
}
private function readAnimation(name : String, map : Object, skeletonData : SkeletonData) : void {
var timelines : Vector.<Timeline> = new Vector.<Timeline>();
var duration : Number = 0;
private function readAnimation(name:String, map:Object, skeletonData:SkeletonData) : void {
var timelines:Vector.<Timeline> = new Vector.<Timeline>();
var duration:Number = 0;
var slotMap : Object, slotIndex : int, slotName : String;
var values : Array, valueMap : Object, frameIndex : int;
var i : int;
var timelineName : String;
var slotMap:Object, slotIndex:int, slotName:String;
var values:Array, valueMap:Object, frameIndex:int;
var i:int;
var timelineName:String;
var slots : Object = map["slots"];
var slots:Object = map["slots"];
for (slotName in slots) {
slotMap = slots[slotName];
slotIndex = skeletonData.findSlotIndex(slotName);
@ -318,16 +318,16 @@ package spine {
for (timelineName in slotMap) {
values = slotMap[timelineName];
if (timelineName == "color") {
var colorTimeline : ColorTimeline = new ColorTimeline(values.length);
var colorTimeline:ColorTimeline = new ColorTimeline(values.length);
colorTimeline.slotIndex = slotIndex;
frameIndex = 0;
for each (valueMap in values) {
var color : String = valueMap["color"];
var r : Number = toColor(color, 0);
var g : Number = toColor(color, 1);
var b : Number = toColor(color, 2);
var a : Number = toColor(color, 3);
var color:String = valueMap["color"];
var r:Number = toColor(color, 0);
var g:Number = toColor(color, 1);
var b:Number = toColor(color, 2);
var a:Number = toColor(color, 3);
colorTimeline.setFrame(frameIndex, valueMap["time"], r, g, b, a);
readCurve(colorTimeline, frameIndex, valueMap);
frameIndex++;
@ -335,7 +335,7 @@ package spine {
timelines[timelines.length] = colorTimeline;
duration = Math.max(duration, colorTimeline.frames[colorTimeline.frameCount * 5 - 5]);
} else if (timelineName == "attachment") {
var attachmentTimeline : AttachmentTimeline = new AttachmentTimeline(values.length);
var attachmentTimeline:AttachmentTimeline = new AttachmentTimeline(values.length);
attachmentTimeline.slotIndex = slotIndex;
frameIndex = 0;
@ -348,16 +348,16 @@ package spine {
}
}
var bones : Object = map["bones"];
for (var boneName : String in bones) {
var boneIndex : int = skeletonData.findBoneIndex(boneName);
var bones:Object = map["bones"];
for (var boneName:String in bones) {
var boneIndex:int = skeletonData.findBoneIndex(boneName);
if (boneIndex == -1) throw new Error("Bone not found: " + boneName);
var boneMap : Object = bones[boneName];
var boneMap:Object = bones[boneName];
for (timelineName in boneMap) {
values = boneMap[timelineName];
if (timelineName == "rotate") {
var rotateTimeline : RotateTimeline = new RotateTimeline(values.length);
var rotateTimeline:RotateTimeline = new RotateTimeline(values.length);
rotateTimeline.boneIndex = boneIndex;
frameIndex = 0;
@ -369,8 +369,8 @@ package spine {
timelines[timelines.length] = rotateTimeline;
duration = Math.max(duration, rotateTimeline.frames[rotateTimeline.frameCount * 2 - 2]);
} else if (timelineName == "translate" || timelineName == "scale") {
var timeline : TranslateTimeline;
var timelineScale : Number = 1;
var timeline:TranslateTimeline;
var timelineScale:Number = 1;
if (timelineName == "scale")
timeline = new ScaleTimeline(values.length);
else {
@ -381,8 +381,8 @@ package spine {
frameIndex = 0;
for each (valueMap in values) {
var x : Number = Number(valueMap["x"] || 0) * timelineScale;
var y : Number = Number(valueMap["y"] || 0) * timelineScale;
var x:Number = Number(valueMap["x"] || 0) * timelineScale;
var y:Number = Number(valueMap["y"] || 0) * timelineScale;
timeline.setFrame(frameIndex, valueMap["time"], x, y);
readCurve(timeline, frameIndex, valueMap);
frameIndex++;
@ -394,16 +394,16 @@ package spine {
}
}
var ikMap : Object = map["ik"];
for (var ikConstraintName : String in ikMap) {
var ikConstraint : IkConstraintData = skeletonData.findIkConstraint(ikConstraintName);
var ikMap:Object = map["ik"];
for (var ikConstraintName:String in ikMap) {
var ikConstraint:IkConstraintData = skeletonData.findIkConstraint(ikConstraintName);
values = ikMap[ikConstraintName];
var ikTimeline : IkConstraintTimeline = new IkConstraintTimeline(values.length);
var ikTimeline:IkConstraintTimeline = new IkConstraintTimeline(values.length);
ikTimeline.ikConstraintIndex = skeletonData.ikConstraints.indexOf(ikConstraint);
frameIndex = 0;
for each (valueMap in values) {
var mix : Number = valueMap.hasOwnProperty("mix") ? valueMap["mix"] : 1;
var bendDirection : int = (!valueMap.hasOwnProperty("bendPositive") || valueMap["bendPositive"]) ? 1 : -1;
var mix:Number = valueMap.hasOwnProperty("mix") ? valueMap["mix"] : 1;
var bendDirection:int = (!valueMap.hasOwnProperty("bendPositive") || valueMap["bendPositive"]) ? 1 : -1;
ikTimeline.setFrame(frameIndex, valueMap["time"], mix, bendDirection);
readCurve(ikTimeline, frameIndex, valueMap);
frameIndex++;
@ -412,22 +412,22 @@ package spine {
duration = Math.max(duration, ikTimeline.frames[ikTimeline.frameCount * 3 - 3]);
}
var ffd : Object = map["ffd"];
for (var skinName : String in ffd) {
var skin : Skin = skeletonData.findSkin(skinName);
var ffd:Object = map["ffd"];
for (var skinName:String in ffd) {
var skin:Skin = skeletonData.findSkin(skinName);
slotMap = ffd[skinName];
for (slotName in slotMap) {
slotIndex = skeletonData.findSlotIndex(slotName);
var meshMap : Object = slotMap[slotName];
for (var meshName : String in meshMap) {
var meshMap:Object = slotMap[slotName];
for (var meshName:String in meshMap) {
values = meshMap[meshName];
var ffdTimeline : FfdTimeline = new FfdTimeline(values.length);
var attachment : Attachment = skin.getAttachment(slotIndex, meshName);
var ffdTimeline:FfdTimeline = new FfdTimeline(values.length);
var attachment:Attachment = skin.getAttachment(slotIndex, meshName);
if (!attachment) throw new Error("FFD attachment not found: " + meshName);
ffdTimeline.slotIndex = slotIndex;
ffdTimeline.attachment = attachment;
var vertexCount : int;
var vertexCount:int;
if (attachment is MeshAttachment)
vertexCount = (attachment as MeshAttachment).vertices.length;
else
@ -435,17 +435,17 @@ package spine {
frameIndex = 0;
for each (valueMap in values) {
var vertices : Vector.<Number>;
var vertices:Vector.<Number>;
if (!valueMap["vertices"]) {
if (attachment is MeshAttachment)
vertices = (attachment as MeshAttachment).vertices;
else
vertices = new Vector.<Number>(vertexCount, true);
} else {
var verticesValue : Array = valueMap["vertices"];
var verticesValue:Array = valueMap["vertices"];
vertices = new Vector.<Number>(vertexCount, true);
var start : int = valueMap["offset"] || 0;
var n : int = verticesValue.length;
var start:int = valueMap["offset"] || 0;
var n:int = verticesValue.length;
if (scale == 1) {
for (i = 0; i < n; i++)
vertices[i + start] = verticesValue[i];
@ -454,7 +454,7 @@ package spine {
vertices[i + start] = verticesValue[i] * scale;
}
if (attachment is MeshAttachment) {
var meshVertices : Vector.<Number> = (attachment as MeshAttachment).vertices;
var meshVertices:Vector.<Number> = (attachment as MeshAttachment).vertices;
for (i = 0; i < vertexCount; i++)
vertices[i] += meshVertices[i];
}
@ -470,22 +470,22 @@ package spine {
}
}
var drawOrderValues : Array = map["drawOrder"];
var drawOrderValues:Array = map["drawOrder"];
if (!drawOrderValues) drawOrderValues = map["draworder"];
if (drawOrderValues) {
var drawOrderTimeline : DrawOrderTimeline = new DrawOrderTimeline(drawOrderValues.length);
var slotCount : int = skeletonData.slots.length;
var drawOrderTimeline:DrawOrderTimeline = new DrawOrderTimeline(drawOrderValues.length);
var slotCount:int = skeletonData.slots.length;
frameIndex = 0;
for each (var drawOrderMap : Object in drawOrderValues) {
var drawOrder : Vector.<int> = null;
for each (var drawOrderMap:Object in drawOrderValues) {
var drawOrder:Vector.<int> = null;
if (drawOrderMap["offsets"]) {
drawOrder = new Vector.<int>(slotCount);
for (i = slotCount - 1; i >= 0; i--)
drawOrder[i] = -1;
var offsets : Array = drawOrderMap["offsets"];
var unchanged : Vector.<int> = new Vector.<int>(slotCount - offsets.length);
var originalIndex : int = 0, unchangedIndex : int = 0;
for each (var offsetMap : Object in offsets) {
var offsets:Array = drawOrderMap["offsets"];
var unchanged:Vector.<int> = new Vector.<int>(slotCount - offsets.length);
var originalIndex:int = 0, unchangedIndex:int = 0;
for each (var offsetMap:Object in offsets) {
slotIndex = skeletonData.findSlotIndex(offsetMap["slot"]);
if (slotIndex == -1) throw new Error("Slot not found: " + offsetMap["slot"]);
// Collect unchanged items.
@ -507,14 +507,14 @@ package spine {
duration = Math.max(duration, drawOrderTimeline.frames[drawOrderTimeline.frameCount - 1]);
}
var eventsMap : Array = map["events"];
var eventsMap:Array = map["events"];
if (eventsMap) {
var eventTimeline : EventTimeline = new EventTimeline(eventsMap.length);
var eventTimeline:EventTimeline = new EventTimeline(eventsMap.length);
frameIndex = 0;
for each (var eventMap : Object in eventsMap) {
var eventData : EventData = skeletonData.findEvent(eventMap["name"]);
for each (var eventMap:Object in eventsMap) {
var eventData:EventData = skeletonData.findEvent(eventMap["name"]);
if (!eventData) throw new Error("Event not found: " + eventMap["name"]);
var event : Event = new Event(eventMap["time"], eventData);
var event:Event = new Event(eventMap["time"], eventData);
event.intValue = eventMap.hasOwnProperty("int") ? eventMap["int"] : eventData.intValue;
event.floatValue = eventMap.hasOwnProperty("float") ? eventMap["float"] : eventData.floatValue;
event.stringValue = eventMap.hasOwnProperty("string") ? eventMap["string"] : eventData.stringValue;
@ -527,8 +527,8 @@ package spine {
skeletonData.animations[skeletonData.animations.length] = new Animation(name, timelines, duration);
}
static private function readCurve(timeline : CurveTimeline, frameIndex : int, valueMap : Object) : void {
var curve : Object = valueMap["curve"];
static private function readCurve(timeline:CurveTimeline, frameIndex:int, valueMap:Object) : void {
var curve:Object = valueMap["curve"];
if (!curve) return;
if (curve == "stepped")
timeline.setStepped(frameIndex);
@ -536,15 +536,15 @@ package spine {
timeline.setCurve(frameIndex, curve[0], curve[1], curve[2], curve[3]);
}
static private function toColor(hexString : String, colorIndex : int) : Number {
static private function toColor(hexString:String, colorIndex:int) : Number {
if (hexString.length != 8) throw new ArgumentError("Color hexidecimal length must be 8, recieved: " + hexString);
return parseInt(hexString.substring(colorIndex * 2, colorIndex * 2 + 2), 16) / 255;
}
static private function getFloatArray(map : Object, name : String, scale : Number) : Vector.<Number> {
var list : Array = map[name];
var values : Vector.<Number> = new Vector.<Number>(list.length, true);
var i : int = 0, n : int = list.length;
static private function getFloatArray(map:Object, name:String, scale:Number) : Vector.<Number> {
var list:Array = map[name];
var values:Vector.<Number> = new Vector.<Number>(list.length, true);
var i:int = 0, n:int = list.length;
if (scale == 1) {
for (; i < n; i++)
values[i] = list[i];
@ -555,18 +555,18 @@ package spine {
return values;
}
static private function getIntArray(map : Object, name : String) : Vector.<int> {
var list : Array = map[name];
var values : Vector.<int> = new Vector.<int>(list.length, true);
for (var i : int = 0, n : int = list.length; i < n; i++)
static private function getIntArray(map:Object, name:String) : Vector.<int> {
var list:Array = map[name];
var values:Vector.<int> = new Vector.<int>(list.length, true);
for (var i:int = 0, n:int = list.length; i < n; i++)
values[i] = int(list[i]);
return values;
}
static private function getUintArray(map : Object, name : String) : Vector.<uint> {
var list : Array = map[name];
var values : Vector.<uint> = new Vector.<uint>(list.length, true);
for (var i : int = 0, n : int = list.length; i < n; i++)
static private function getUintArray(map:Object, name:String) : Vector.<uint> {
var list:Array = map[name];
var values:Vector.<uint> = new Vector.<uint>(list.length, true);
for (var i:int = 0, n:int = list.length; i < n; i++)
values[i] = int(list[i]);
return values;
}