mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[ts] Fixed first frame setup pose reset in all timeline implementations
This commit is contained in:
parent
3212e44aa9
commit
ca074364c5
@ -76,24 +76,30 @@ struct spTrackEntry {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct spEventQueue spEventQueue;
|
||||||
|
|
||||||
struct spAnimationState {
|
struct spAnimationState {
|
||||||
spAnimationStateData* const data;
|
spAnimationStateData* const data;
|
||||||
float timeScale;
|
|
||||||
spAnimationStateListener listener;
|
|
||||||
|
|
||||||
int tracksCount;
|
int tracksCount;
|
||||||
spTrackEntry** tracks;
|
spTrackEntry** tracks;
|
||||||
|
|
||||||
void* rendererObject;
|
spAnimationStateListener listener;
|
||||||
|
|
||||||
|
float timeScale;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
spAnimationState() :
|
spAnimationState() :
|
||||||
data(0),
|
data(0),
|
||||||
timeScale(0),
|
|
||||||
listener(0),
|
|
||||||
tracksCount(0),
|
|
||||||
tracks(0),
|
tracks(0),
|
||||||
rendererObject(0) {
|
tracksCount(0),
|
||||||
|
events(0),
|
||||||
|
eventsCount(0),
|
||||||
|
listener(0),
|
||||||
|
queue(0),
|
||||||
|
propertyIDs(0),
|
||||||
|
animationsChanged(0),
|
||||||
|
timeScale(0) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
@ -119,14 +125,21 @@ spTrackEntry* spAnimationState_addAnimationByName (spAnimationState* self, int t
|
|||||||
int/*bool*/loop, float delay);
|
int/*bool*/loop, float delay);
|
||||||
spTrackEntry* spAnimationState_addAnimation (spAnimationState* self, int trackIndex, spAnimation* animation, int/*bool*/loop,
|
spTrackEntry* spAnimationState_addAnimation (spAnimationState* self, int trackIndex, spAnimation* animation, int/*bool*/loop,
|
||||||
float delay);
|
float delay);
|
||||||
|
spTrackEntry* spAnimationState_setEmptyAnimation(spAnimationState* self, int trackIndex, float mixDuration);
|
||||||
|
spTrackEntry* spAnimationState_addEmptyAnimation(spAnimationState* self, int trackIndex, float mixDuration, float delay);
|
||||||
|
spTrackEntry* spAnimationState_setEmptyAnimations(spAnimationState* self, float mixDuration);
|
||||||
|
|
||||||
spTrackEntry* spAnimationState_getCurrent (spAnimationState* self, int trackIndex);
|
spTrackEntry* spAnimationState_getCurrent (spAnimationState* self, int trackIndex);
|
||||||
|
|
||||||
|
spTrackEntry* spAnimationState_clearListenerNotifications(spAnimationState* self);
|
||||||
|
|
||||||
#ifdef SPINE_SHORT_NAMES
|
#ifdef SPINE_SHORT_NAMES
|
||||||
typedef spEventType EventType;
|
typedef spEventType EventType;
|
||||||
#define ANIMATION_START SP_ANIMATION_START
|
#define ANIMATION_START SP_ANIMATION_START
|
||||||
|
#define ANIMATION_INTERRUPT SP_ANIMATION_INTERRUPT
|
||||||
#define ANIMATION_END SP_ANIMATION_END
|
#define ANIMATION_END SP_ANIMATION_END
|
||||||
#define ANIMATION_COMPLETE SP_ANIMATION_COMPLETE
|
#define ANIMATION_COMPLETE SP_ANIMATION_COMPLETE
|
||||||
|
#define ANIMATION_DISPOSE SP_ANIMATION_DISPOSE
|
||||||
#define ANIMATION_EVENT SP_ANIMATION_EVENT
|
#define ANIMATION_EVENT SP_ANIMATION_EVENT
|
||||||
typedef spAnimationStateListener AnimationStateListener;
|
typedef spAnimationStateListener AnimationStateListener;
|
||||||
typedef spTrackEntry TrackEntry;
|
typedef spTrackEntry TrackEntry;
|
||||||
@ -141,7 +154,11 @@ typedef spAnimationState AnimationState;
|
|||||||
#define AnimationState_setAnimation(...) spAnimationState_setAnimation(__VA_ARGS__)
|
#define AnimationState_setAnimation(...) spAnimationState_setAnimation(__VA_ARGS__)
|
||||||
#define AnimationState_addAnimationByName(...) spAnimationState_addAnimationByName(__VA_ARGS__)
|
#define AnimationState_addAnimationByName(...) spAnimationState_addAnimationByName(__VA_ARGS__)
|
||||||
#define AnimationState_addAnimation(...) spAnimationState_addAnimation(__VA_ARGS__)
|
#define AnimationState_addAnimation(...) spAnimationState_addAnimation(__VA_ARGS__)
|
||||||
|
#define AnimationState_setEmptyAnimation(...) spAnimatinState_setEmptyAnimation(__VA_ARGS__)
|
||||||
|
#define AnimationState_addEmptyAnimation(...) spAnimatinState_addEmptyAnimation(__VA_ARGS__)
|
||||||
|
#define AnimationState_setEmptyAnimations(...) spAnimatinState_setEmptyAnimations(__VA_ARGS__)
|
||||||
#define AnimationState_getCurrent(...) spAnimationState_getCurrent(__VA_ARGS__)
|
#define AnimationState_getCurrent(...) spAnimationState_getCurrent(__VA_ARGS__)
|
||||||
|
#define AnimationState_clearListenerNotifications(...) spAnimatinState_clearListenerNotifications(__VA_ARGS__)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@ -173,15 +173,27 @@ char* _readFile (const char* path, int* length);
|
|||||||
|
|
||||||
typedef struct _spAnimationState {
|
typedef struct _spAnimationState {
|
||||||
spAnimationState super;
|
spAnimationState super;
|
||||||
|
|
||||||
|
int eventsCount;
|
||||||
spEvent** events;
|
spEvent** events;
|
||||||
|
|
||||||
|
spEventQueue* queue;
|
||||||
|
|
||||||
|
void* propertyIDs;
|
||||||
|
|
||||||
|
int /*boolean*/ animationsChanged;
|
||||||
|
|
||||||
spTrackEntry* (*createTrackEntry) (spAnimationState* self);
|
spTrackEntry* (*createTrackEntry) (spAnimationState* self);
|
||||||
void (*disposeTrackEntry) (spTrackEntry* entry);
|
void (*disposeTrackEntry) (spTrackEntry* entry);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
_spAnimationState() :
|
_spAnimationState() :
|
||||||
super(),
|
super(),
|
||||||
|
eventsCount(0),
|
||||||
events(0),
|
events(0),
|
||||||
|
queue(0),
|
||||||
|
propertyIDs(0),
|
||||||
|
animationsChanged(0),
|
||||||
createTrackEntry(0),
|
createTrackEntry(0),
|
||||||
disposeTrackEntry(0) {
|
disposeTrackEntry(0) {
|
||||||
}
|
}
|
||||||
|
|||||||
20
spine-ts/build/spine-all.d.ts
vendored
20
spine-ts/build/spine-all.d.ts
vendored
@ -196,6 +196,16 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
|
class DeformTimeline extends CurveTimeline {
|
||||||
|
slotIndex: number;
|
||||||
|
attachment: VertexAttachment;
|
||||||
|
frames: ArrayLike<number>;
|
||||||
|
frameVertices: Array<ArrayLike<number>>;
|
||||||
|
constructor(frameCount: number);
|
||||||
|
getPropertyId(): number;
|
||||||
|
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
||||||
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
|
}
|
||||||
class EventTimeline implements Timeline {
|
class EventTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
events: Array<Event>;
|
events: Array<Event>;
|
||||||
@ -214,16 +224,6 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
class DeformTimeline extends CurveTimeline {
|
|
||||||
slotIndex: number;
|
|
||||||
attachment: VertexAttachment;
|
|
||||||
frames: ArrayLike<number>;
|
|
||||||
frameVertices: Array<ArrayLike<number>>;
|
|
||||||
constructor(frameCount: number);
|
|
||||||
getPropertyId(): number;
|
|
||||||
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
|
||||||
}
|
|
||||||
class IkConstraintTimeline extends CurveTimeline {
|
class IkConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
static PREV_TIME: number;
|
static PREV_TIME: number;
|
||||||
|
|||||||
@ -515,9 +515,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
||||||
if (setupPose)
|
if (setupPose)
|
||||||
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
||||||
@ -569,9 +572,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.x = bone.data.x;
|
||||||
|
bone.y = bone.data.y;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + TranslateTimeline.PREV_X];
|
x = frames[frames.length + TranslateTimeline.PREV_X];
|
||||||
@ -614,9 +622,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.scaleX = bone.data.scaleX;
|
||||||
|
bone.scaleY = bone.data.scaleY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
||||||
@ -670,9 +683,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.shearX = bone.data.shearX;
|
||||||
|
bone.shearY = bone.data.shearY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ShearTimeline.PREV_X];
|
x = frames[frames.length + ShearTimeline.PREV_X];
|
||||||
@ -717,9 +735,13 @@ var spine;
|
|||||||
this.frames[frameIndex + ColorTimeline.A] = a;
|
this.frames[frameIndex + ColorTimeline.A] = a;
|
||||||
};
|
};
|
||||||
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
slot.color.setFromColor(slot.data.color);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var r = 0, g = 0, b = 0, a = 0;
|
var r = 0, g = 0, b = 0, a = 0;
|
||||||
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -741,7 +763,6 @@ var spine;
|
|||||||
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
||||||
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
||||||
}
|
}
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
if (alpha == 1)
|
if (alpha == 1)
|
||||||
slot.color.set(r, g, b, a);
|
slot.color.set(r, g, b, a);
|
||||||
else {
|
else {
|
||||||
@ -780,15 +801,20 @@ var spine;
|
|||||||
this.attachmentNames[frameIndex] = attachmentName;
|
this.attachmentNames[frameIndex] = attachmentName;
|
||||||
};
|
};
|
||||||
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
if (mixingOut && setupPose) {
|
if (mixingOut && setupPose) {
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
var attachmentName_1 = slot.data.attachmentName;
|
var attachmentName_1 = slot.data.attachmentName;
|
||||||
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var attachmentName_2 = slot.data.attachmentName;
|
||||||
|
slot.setAttachment(attachmentName_2 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_2));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameIndex = 0;
|
var frameIndex = 0;
|
||||||
if (time >= frames[frames.length - 1])
|
if (time >= frames[frames.length - 1])
|
||||||
frameIndex = frames.length - 1;
|
frameIndex = frames.length - 1;
|
||||||
@ -801,93 +827,6 @@ var spine;
|
|||||||
return AttachmentTimeline;
|
return AttachmentTimeline;
|
||||||
}());
|
}());
|
||||||
spine.AttachmentTimeline = AttachmentTimeline;
|
spine.AttachmentTimeline = AttachmentTimeline;
|
||||||
var EventTimeline = (function () {
|
|
||||||
function EventTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.events = new Array(frameCount);
|
|
||||||
}
|
|
||||||
EventTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.event << 24;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
|
||||||
this.frames[frameIndex] = event.time;
|
|
||||||
this.events[frameIndex] = event;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (firedEvents == null)
|
|
||||||
return;
|
|
||||||
var frames = this.frames;
|
|
||||||
var frameCount = this.frames.length;
|
|
||||||
if (lastTime > time) {
|
|
||||||
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
|
||||||
lastTime = -1;
|
|
||||||
}
|
|
||||||
else if (lastTime >= frames[frameCount - 1])
|
|
||||||
return;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (lastTime < frames[0])
|
|
||||||
frame = 0;
|
|
||||||
else {
|
|
||||||
frame = Animation.binarySearch(frames, lastTime);
|
|
||||||
var frameTime = frames[frame];
|
|
||||||
while (frame > 0) {
|
|
||||||
if (frames[frame - 1] != frameTime)
|
|
||||||
break;
|
|
||||||
frame--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (; frame < frameCount && time >= frames[frame]; frame++)
|
|
||||||
firedEvents.push(this.events[frame]);
|
|
||||||
};
|
|
||||||
return EventTimeline;
|
|
||||||
}());
|
|
||||||
spine.EventTimeline = EventTimeline;
|
|
||||||
var DrawOrderTimeline = (function () {
|
|
||||||
function DrawOrderTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.drawOrders = new Array(frameCount);
|
|
||||||
}
|
|
||||||
DrawOrderTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.drawOrder << 24;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
|
||||||
this.frames[frameIndex] = time;
|
|
||||||
this.drawOrders[frameIndex] = drawOrder;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (mixingOut && setupPose) {
|
|
||||||
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var frames = this.frames;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (time >= frames[frames.length - 1])
|
|
||||||
frame = frames.length - 1;
|
|
||||||
else
|
|
||||||
frame = Animation.binarySearch(frames, time) - 1;
|
|
||||||
var drawOrder = skeleton.drawOrder;
|
|
||||||
var slots = skeleton.slots;
|
|
||||||
var drawOrderToSetupIndex = this.drawOrders[frame];
|
|
||||||
if (drawOrderToSetupIndex == null)
|
|
||||||
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
|
||||||
else {
|
|
||||||
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
|
||||||
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return DrawOrderTimeline;
|
|
||||||
}());
|
|
||||||
spine.DrawOrderTimeline = DrawOrderTimeline;
|
|
||||||
var DeformTimeline = (function (_super) {
|
var DeformTimeline = (function (_super) {
|
||||||
__extends(DeformTimeline, _super);
|
__extends(DeformTimeline, _super);
|
||||||
function DeformTimeline(frameCount) {
|
function DeformTimeline(frameCount) {
|
||||||
@ -908,11 +847,14 @@ var spine;
|
|||||||
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
||||||
return;
|
return;
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
var verticesArray = slot.attachmentVertices;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.setArraySize(verticesArray, 0);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameVertices = this.frameVertices;
|
var frameVertices = this.frameVertices;
|
||||||
var vertexCount = frameVertices[0].length;
|
var vertexCount = frameVertices[0].length;
|
||||||
var verticesArray = slot.attachmentVertices;
|
|
||||||
if (verticesArray.length != vertexCount)
|
if (verticesArray.length != vertexCount)
|
||||||
alpha = 1;
|
alpha = 1;
|
||||||
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
||||||
@ -978,6 +920,96 @@ var spine;
|
|||||||
return DeformTimeline;
|
return DeformTimeline;
|
||||||
}(CurveTimeline));
|
}(CurveTimeline));
|
||||||
spine.DeformTimeline = DeformTimeline;
|
spine.DeformTimeline = DeformTimeline;
|
||||||
|
var EventTimeline = (function () {
|
||||||
|
function EventTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.events = new Array(frameCount);
|
||||||
|
}
|
||||||
|
EventTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.event << 24;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
||||||
|
this.frames[frameIndex] = event.time;
|
||||||
|
this.events[frameIndex] = event;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
if (firedEvents == null)
|
||||||
|
return;
|
||||||
|
var frames = this.frames;
|
||||||
|
var frameCount = this.frames.length;
|
||||||
|
if (lastTime > time) {
|
||||||
|
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
||||||
|
lastTime = -1;
|
||||||
|
}
|
||||||
|
else if (lastTime >= frames[frameCount - 1])
|
||||||
|
return;
|
||||||
|
if (time < frames[0])
|
||||||
|
return;
|
||||||
|
var frame = 0;
|
||||||
|
if (lastTime < frames[0])
|
||||||
|
frame = 0;
|
||||||
|
else {
|
||||||
|
frame = Animation.binarySearch(frames, lastTime);
|
||||||
|
var frameTime = frames[frame];
|
||||||
|
while (frame > 0) {
|
||||||
|
if (frames[frame - 1] != frameTime)
|
||||||
|
break;
|
||||||
|
frame--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (; frame < frameCount && time >= frames[frame]; frame++)
|
||||||
|
firedEvents.push(this.events[frame]);
|
||||||
|
};
|
||||||
|
return EventTimeline;
|
||||||
|
}());
|
||||||
|
spine.EventTimeline = EventTimeline;
|
||||||
|
var DrawOrderTimeline = (function () {
|
||||||
|
function DrawOrderTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.drawOrders = new Array(frameCount);
|
||||||
|
}
|
||||||
|
DrawOrderTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.drawOrder << 24;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
||||||
|
this.frames[frameIndex] = time;
|
||||||
|
this.drawOrders[frameIndex] = drawOrder;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
var drawOrder = skeleton.drawOrder;
|
||||||
|
var slots = skeleton.slots;
|
||||||
|
if (mixingOut && setupPose) {
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frames = this.frames;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frame = 0;
|
||||||
|
if (time >= frames[frames.length - 1])
|
||||||
|
frame = frames.length - 1;
|
||||||
|
else
|
||||||
|
frame = Animation.binarySearch(frames, time) - 1;
|
||||||
|
var drawOrderToSetupIndex = this.drawOrders[frame];
|
||||||
|
if (drawOrderToSetupIndex == null)
|
||||||
|
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
||||||
|
else {
|
||||||
|
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
||||||
|
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return DrawOrderTimeline;
|
||||||
|
}());
|
||||||
|
spine.DrawOrderTimeline = DrawOrderTimeline;
|
||||||
var IkConstraintTimeline = (function (_super) {
|
var IkConstraintTimeline = (function (_super) {
|
||||||
__extends(IkConstraintTimeline, _super);
|
__extends(IkConstraintTimeline, _super);
|
||||||
function IkConstraintTimeline(frameCount) {
|
function IkConstraintTimeline(frameCount) {
|
||||||
@ -995,9 +1027,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.mix = constraint.data.mix;
|
||||||
|
constraint.bendDirection = constraint.data.bendDirection;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
||||||
if (setupPose) {
|
if (setupPose) {
|
||||||
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
||||||
@ -1053,9 +1090,17 @@ var spine;
|
|||||||
};
|
};
|
||||||
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var data = constraint.data;
|
||||||
|
constraint.rotateMix = data.rotateMix;
|
||||||
|
constraint.translateMix = data.rotateMix;
|
||||||
|
constraint.scaleMix = data.scaleMix;
|
||||||
|
constraint.shearMix = data.shearMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
||||||
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -1120,9 +1165,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.position = constraint.data.position;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var position = 0;
|
var position = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
||||||
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
||||||
@ -1155,9 +1203,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.spacing = constraint.data.spacing;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var spacing = 0;
|
var spacing = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
||||||
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
||||||
@ -1193,9 +1244,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.rotateMix = constraint.data.rotateMix;
|
||||||
|
constraint.translateMix = constraint.data.translateMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0;
|
var rotate = 0, translate = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
||||||
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
20
spine-ts/build/spine-canvas.d.ts
vendored
20
spine-ts/build/spine-canvas.d.ts
vendored
@ -196,6 +196,16 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
|
class DeformTimeline extends CurveTimeline {
|
||||||
|
slotIndex: number;
|
||||||
|
attachment: VertexAttachment;
|
||||||
|
frames: ArrayLike<number>;
|
||||||
|
frameVertices: Array<ArrayLike<number>>;
|
||||||
|
constructor(frameCount: number);
|
||||||
|
getPropertyId(): number;
|
||||||
|
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
||||||
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
|
}
|
||||||
class EventTimeline implements Timeline {
|
class EventTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
events: Array<Event>;
|
events: Array<Event>;
|
||||||
@ -214,16 +224,6 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
class DeformTimeline extends CurveTimeline {
|
|
||||||
slotIndex: number;
|
|
||||||
attachment: VertexAttachment;
|
|
||||||
frames: ArrayLike<number>;
|
|
||||||
frameVertices: Array<ArrayLike<number>>;
|
|
||||||
constructor(frameCount: number);
|
|
||||||
getPropertyId(): number;
|
|
||||||
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
|
||||||
}
|
|
||||||
class IkConstraintTimeline extends CurveTimeline {
|
class IkConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
static PREV_TIME: number;
|
static PREV_TIME: number;
|
||||||
|
|||||||
@ -515,9 +515,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
||||||
if (setupPose)
|
if (setupPose)
|
||||||
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
||||||
@ -569,9 +572,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.x = bone.data.x;
|
||||||
|
bone.y = bone.data.y;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + TranslateTimeline.PREV_X];
|
x = frames[frames.length + TranslateTimeline.PREV_X];
|
||||||
@ -614,9 +622,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.scaleX = bone.data.scaleX;
|
||||||
|
bone.scaleY = bone.data.scaleY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
||||||
@ -670,9 +683,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.shearX = bone.data.shearX;
|
||||||
|
bone.shearY = bone.data.shearY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ShearTimeline.PREV_X];
|
x = frames[frames.length + ShearTimeline.PREV_X];
|
||||||
@ -717,9 +735,13 @@ var spine;
|
|||||||
this.frames[frameIndex + ColorTimeline.A] = a;
|
this.frames[frameIndex + ColorTimeline.A] = a;
|
||||||
};
|
};
|
||||||
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
slot.color.setFromColor(slot.data.color);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var r = 0, g = 0, b = 0, a = 0;
|
var r = 0, g = 0, b = 0, a = 0;
|
||||||
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -741,7 +763,6 @@ var spine;
|
|||||||
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
||||||
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
||||||
}
|
}
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
if (alpha == 1)
|
if (alpha == 1)
|
||||||
slot.color.set(r, g, b, a);
|
slot.color.set(r, g, b, a);
|
||||||
else {
|
else {
|
||||||
@ -780,15 +801,20 @@ var spine;
|
|||||||
this.attachmentNames[frameIndex] = attachmentName;
|
this.attachmentNames[frameIndex] = attachmentName;
|
||||||
};
|
};
|
||||||
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
if (mixingOut && setupPose) {
|
if (mixingOut && setupPose) {
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
var attachmentName_1 = slot.data.attachmentName;
|
var attachmentName_1 = slot.data.attachmentName;
|
||||||
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var attachmentName_2 = slot.data.attachmentName;
|
||||||
|
slot.setAttachment(attachmentName_2 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_2));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameIndex = 0;
|
var frameIndex = 0;
|
||||||
if (time >= frames[frames.length - 1])
|
if (time >= frames[frames.length - 1])
|
||||||
frameIndex = frames.length - 1;
|
frameIndex = frames.length - 1;
|
||||||
@ -801,93 +827,6 @@ var spine;
|
|||||||
return AttachmentTimeline;
|
return AttachmentTimeline;
|
||||||
}());
|
}());
|
||||||
spine.AttachmentTimeline = AttachmentTimeline;
|
spine.AttachmentTimeline = AttachmentTimeline;
|
||||||
var EventTimeline = (function () {
|
|
||||||
function EventTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.events = new Array(frameCount);
|
|
||||||
}
|
|
||||||
EventTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.event << 24;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
|
||||||
this.frames[frameIndex] = event.time;
|
|
||||||
this.events[frameIndex] = event;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (firedEvents == null)
|
|
||||||
return;
|
|
||||||
var frames = this.frames;
|
|
||||||
var frameCount = this.frames.length;
|
|
||||||
if (lastTime > time) {
|
|
||||||
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
|
||||||
lastTime = -1;
|
|
||||||
}
|
|
||||||
else if (lastTime >= frames[frameCount - 1])
|
|
||||||
return;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (lastTime < frames[0])
|
|
||||||
frame = 0;
|
|
||||||
else {
|
|
||||||
frame = Animation.binarySearch(frames, lastTime);
|
|
||||||
var frameTime = frames[frame];
|
|
||||||
while (frame > 0) {
|
|
||||||
if (frames[frame - 1] != frameTime)
|
|
||||||
break;
|
|
||||||
frame--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (; frame < frameCount && time >= frames[frame]; frame++)
|
|
||||||
firedEvents.push(this.events[frame]);
|
|
||||||
};
|
|
||||||
return EventTimeline;
|
|
||||||
}());
|
|
||||||
spine.EventTimeline = EventTimeline;
|
|
||||||
var DrawOrderTimeline = (function () {
|
|
||||||
function DrawOrderTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.drawOrders = new Array(frameCount);
|
|
||||||
}
|
|
||||||
DrawOrderTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.drawOrder << 24;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
|
||||||
this.frames[frameIndex] = time;
|
|
||||||
this.drawOrders[frameIndex] = drawOrder;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (mixingOut && setupPose) {
|
|
||||||
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var frames = this.frames;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (time >= frames[frames.length - 1])
|
|
||||||
frame = frames.length - 1;
|
|
||||||
else
|
|
||||||
frame = Animation.binarySearch(frames, time) - 1;
|
|
||||||
var drawOrder = skeleton.drawOrder;
|
|
||||||
var slots = skeleton.slots;
|
|
||||||
var drawOrderToSetupIndex = this.drawOrders[frame];
|
|
||||||
if (drawOrderToSetupIndex == null)
|
|
||||||
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
|
||||||
else {
|
|
||||||
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
|
||||||
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return DrawOrderTimeline;
|
|
||||||
}());
|
|
||||||
spine.DrawOrderTimeline = DrawOrderTimeline;
|
|
||||||
var DeformTimeline = (function (_super) {
|
var DeformTimeline = (function (_super) {
|
||||||
__extends(DeformTimeline, _super);
|
__extends(DeformTimeline, _super);
|
||||||
function DeformTimeline(frameCount) {
|
function DeformTimeline(frameCount) {
|
||||||
@ -908,11 +847,14 @@ var spine;
|
|||||||
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
||||||
return;
|
return;
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
var verticesArray = slot.attachmentVertices;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.setArraySize(verticesArray, 0);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameVertices = this.frameVertices;
|
var frameVertices = this.frameVertices;
|
||||||
var vertexCount = frameVertices[0].length;
|
var vertexCount = frameVertices[0].length;
|
||||||
var verticesArray = slot.attachmentVertices;
|
|
||||||
if (verticesArray.length != vertexCount)
|
if (verticesArray.length != vertexCount)
|
||||||
alpha = 1;
|
alpha = 1;
|
||||||
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
||||||
@ -978,6 +920,96 @@ var spine;
|
|||||||
return DeformTimeline;
|
return DeformTimeline;
|
||||||
}(CurveTimeline));
|
}(CurveTimeline));
|
||||||
spine.DeformTimeline = DeformTimeline;
|
spine.DeformTimeline = DeformTimeline;
|
||||||
|
var EventTimeline = (function () {
|
||||||
|
function EventTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.events = new Array(frameCount);
|
||||||
|
}
|
||||||
|
EventTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.event << 24;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
||||||
|
this.frames[frameIndex] = event.time;
|
||||||
|
this.events[frameIndex] = event;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
if (firedEvents == null)
|
||||||
|
return;
|
||||||
|
var frames = this.frames;
|
||||||
|
var frameCount = this.frames.length;
|
||||||
|
if (lastTime > time) {
|
||||||
|
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
||||||
|
lastTime = -1;
|
||||||
|
}
|
||||||
|
else if (lastTime >= frames[frameCount - 1])
|
||||||
|
return;
|
||||||
|
if (time < frames[0])
|
||||||
|
return;
|
||||||
|
var frame = 0;
|
||||||
|
if (lastTime < frames[0])
|
||||||
|
frame = 0;
|
||||||
|
else {
|
||||||
|
frame = Animation.binarySearch(frames, lastTime);
|
||||||
|
var frameTime = frames[frame];
|
||||||
|
while (frame > 0) {
|
||||||
|
if (frames[frame - 1] != frameTime)
|
||||||
|
break;
|
||||||
|
frame--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (; frame < frameCount && time >= frames[frame]; frame++)
|
||||||
|
firedEvents.push(this.events[frame]);
|
||||||
|
};
|
||||||
|
return EventTimeline;
|
||||||
|
}());
|
||||||
|
spine.EventTimeline = EventTimeline;
|
||||||
|
var DrawOrderTimeline = (function () {
|
||||||
|
function DrawOrderTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.drawOrders = new Array(frameCount);
|
||||||
|
}
|
||||||
|
DrawOrderTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.drawOrder << 24;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
||||||
|
this.frames[frameIndex] = time;
|
||||||
|
this.drawOrders[frameIndex] = drawOrder;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
var drawOrder = skeleton.drawOrder;
|
||||||
|
var slots = skeleton.slots;
|
||||||
|
if (mixingOut && setupPose) {
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frames = this.frames;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frame = 0;
|
||||||
|
if (time >= frames[frames.length - 1])
|
||||||
|
frame = frames.length - 1;
|
||||||
|
else
|
||||||
|
frame = Animation.binarySearch(frames, time) - 1;
|
||||||
|
var drawOrderToSetupIndex = this.drawOrders[frame];
|
||||||
|
if (drawOrderToSetupIndex == null)
|
||||||
|
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
||||||
|
else {
|
||||||
|
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
||||||
|
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return DrawOrderTimeline;
|
||||||
|
}());
|
||||||
|
spine.DrawOrderTimeline = DrawOrderTimeline;
|
||||||
var IkConstraintTimeline = (function (_super) {
|
var IkConstraintTimeline = (function (_super) {
|
||||||
__extends(IkConstraintTimeline, _super);
|
__extends(IkConstraintTimeline, _super);
|
||||||
function IkConstraintTimeline(frameCount) {
|
function IkConstraintTimeline(frameCount) {
|
||||||
@ -995,9 +1027,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.mix = constraint.data.mix;
|
||||||
|
constraint.bendDirection = constraint.data.bendDirection;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
||||||
if (setupPose) {
|
if (setupPose) {
|
||||||
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
||||||
@ -1053,9 +1090,17 @@ var spine;
|
|||||||
};
|
};
|
||||||
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var data = constraint.data;
|
||||||
|
constraint.rotateMix = data.rotateMix;
|
||||||
|
constraint.translateMix = data.rotateMix;
|
||||||
|
constraint.scaleMix = data.scaleMix;
|
||||||
|
constraint.shearMix = data.shearMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
||||||
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -1120,9 +1165,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.position = constraint.data.position;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var position = 0;
|
var position = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
||||||
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
||||||
@ -1155,9 +1203,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.spacing = constraint.data.spacing;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var spacing = 0;
|
var spacing = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
||||||
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
||||||
@ -1193,9 +1244,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.rotateMix = constraint.data.rotateMix;
|
||||||
|
constraint.translateMix = constraint.data.translateMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0;
|
var rotate = 0, translate = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
||||||
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
20
spine-ts/build/spine-core.d.ts
vendored
20
spine-ts/build/spine-core.d.ts
vendored
@ -108,6 +108,16 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
|
class DeformTimeline extends CurveTimeline {
|
||||||
|
slotIndex: number;
|
||||||
|
attachment: VertexAttachment;
|
||||||
|
frames: ArrayLike<number>;
|
||||||
|
frameVertices: Array<ArrayLike<number>>;
|
||||||
|
constructor(frameCount: number);
|
||||||
|
getPropertyId(): number;
|
||||||
|
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
||||||
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
|
}
|
||||||
class EventTimeline implements Timeline {
|
class EventTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
events: Array<Event>;
|
events: Array<Event>;
|
||||||
@ -126,16 +136,6 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
class DeformTimeline extends CurveTimeline {
|
|
||||||
slotIndex: number;
|
|
||||||
attachment: VertexAttachment;
|
|
||||||
frames: ArrayLike<number>;
|
|
||||||
frameVertices: Array<ArrayLike<number>>;
|
|
||||||
constructor(frameCount: number);
|
|
||||||
getPropertyId(): number;
|
|
||||||
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
|
||||||
}
|
|
||||||
class IkConstraintTimeline extends CurveTimeline {
|
class IkConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
static PREV_TIME: number;
|
static PREV_TIME: number;
|
||||||
|
|||||||
@ -168,9 +168,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
||||||
if (setupPose)
|
if (setupPose)
|
||||||
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
||||||
@ -222,9 +225,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.x = bone.data.x;
|
||||||
|
bone.y = bone.data.y;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + TranslateTimeline.PREV_X];
|
x = frames[frames.length + TranslateTimeline.PREV_X];
|
||||||
@ -267,9 +275,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.scaleX = bone.data.scaleX;
|
||||||
|
bone.scaleY = bone.data.scaleY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
||||||
@ -323,9 +336,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.shearX = bone.data.shearX;
|
||||||
|
bone.shearY = bone.data.shearY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ShearTimeline.PREV_X];
|
x = frames[frames.length + ShearTimeline.PREV_X];
|
||||||
@ -370,9 +388,13 @@ var spine;
|
|||||||
this.frames[frameIndex + ColorTimeline.A] = a;
|
this.frames[frameIndex + ColorTimeline.A] = a;
|
||||||
};
|
};
|
||||||
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
slot.color.setFromColor(slot.data.color);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var r = 0, g = 0, b = 0, a = 0;
|
var r = 0, g = 0, b = 0, a = 0;
|
||||||
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -394,7 +416,6 @@ var spine;
|
|||||||
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
||||||
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
||||||
}
|
}
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
if (alpha == 1)
|
if (alpha == 1)
|
||||||
slot.color.set(r, g, b, a);
|
slot.color.set(r, g, b, a);
|
||||||
else {
|
else {
|
||||||
@ -433,15 +454,20 @@ var spine;
|
|||||||
this.attachmentNames[frameIndex] = attachmentName;
|
this.attachmentNames[frameIndex] = attachmentName;
|
||||||
};
|
};
|
||||||
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
if (mixingOut && setupPose) {
|
if (mixingOut && setupPose) {
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
var attachmentName_1 = slot.data.attachmentName;
|
var attachmentName_1 = slot.data.attachmentName;
|
||||||
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var attachmentName_2 = slot.data.attachmentName;
|
||||||
|
slot.setAttachment(attachmentName_2 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_2));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameIndex = 0;
|
var frameIndex = 0;
|
||||||
if (time >= frames[frames.length - 1])
|
if (time >= frames[frames.length - 1])
|
||||||
frameIndex = frames.length - 1;
|
frameIndex = frames.length - 1;
|
||||||
@ -454,93 +480,6 @@ var spine;
|
|||||||
return AttachmentTimeline;
|
return AttachmentTimeline;
|
||||||
}());
|
}());
|
||||||
spine.AttachmentTimeline = AttachmentTimeline;
|
spine.AttachmentTimeline = AttachmentTimeline;
|
||||||
var EventTimeline = (function () {
|
|
||||||
function EventTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.events = new Array(frameCount);
|
|
||||||
}
|
|
||||||
EventTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.event << 24;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
|
||||||
this.frames[frameIndex] = event.time;
|
|
||||||
this.events[frameIndex] = event;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (firedEvents == null)
|
|
||||||
return;
|
|
||||||
var frames = this.frames;
|
|
||||||
var frameCount = this.frames.length;
|
|
||||||
if (lastTime > time) {
|
|
||||||
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
|
||||||
lastTime = -1;
|
|
||||||
}
|
|
||||||
else if (lastTime >= frames[frameCount - 1])
|
|
||||||
return;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (lastTime < frames[0])
|
|
||||||
frame = 0;
|
|
||||||
else {
|
|
||||||
frame = Animation.binarySearch(frames, lastTime);
|
|
||||||
var frameTime = frames[frame];
|
|
||||||
while (frame > 0) {
|
|
||||||
if (frames[frame - 1] != frameTime)
|
|
||||||
break;
|
|
||||||
frame--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (; frame < frameCount && time >= frames[frame]; frame++)
|
|
||||||
firedEvents.push(this.events[frame]);
|
|
||||||
};
|
|
||||||
return EventTimeline;
|
|
||||||
}());
|
|
||||||
spine.EventTimeline = EventTimeline;
|
|
||||||
var DrawOrderTimeline = (function () {
|
|
||||||
function DrawOrderTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.drawOrders = new Array(frameCount);
|
|
||||||
}
|
|
||||||
DrawOrderTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.drawOrder << 24;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
|
||||||
this.frames[frameIndex] = time;
|
|
||||||
this.drawOrders[frameIndex] = drawOrder;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (mixingOut && setupPose) {
|
|
||||||
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var frames = this.frames;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (time >= frames[frames.length - 1])
|
|
||||||
frame = frames.length - 1;
|
|
||||||
else
|
|
||||||
frame = Animation.binarySearch(frames, time) - 1;
|
|
||||||
var drawOrder = skeleton.drawOrder;
|
|
||||||
var slots = skeleton.slots;
|
|
||||||
var drawOrderToSetupIndex = this.drawOrders[frame];
|
|
||||||
if (drawOrderToSetupIndex == null)
|
|
||||||
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
|
||||||
else {
|
|
||||||
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
|
||||||
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return DrawOrderTimeline;
|
|
||||||
}());
|
|
||||||
spine.DrawOrderTimeline = DrawOrderTimeline;
|
|
||||||
var DeformTimeline = (function (_super) {
|
var DeformTimeline = (function (_super) {
|
||||||
__extends(DeformTimeline, _super);
|
__extends(DeformTimeline, _super);
|
||||||
function DeformTimeline(frameCount) {
|
function DeformTimeline(frameCount) {
|
||||||
@ -561,11 +500,14 @@ var spine;
|
|||||||
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
||||||
return;
|
return;
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
var verticesArray = slot.attachmentVertices;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.setArraySize(verticesArray, 0);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameVertices = this.frameVertices;
|
var frameVertices = this.frameVertices;
|
||||||
var vertexCount = frameVertices[0].length;
|
var vertexCount = frameVertices[0].length;
|
||||||
var verticesArray = slot.attachmentVertices;
|
|
||||||
if (verticesArray.length != vertexCount)
|
if (verticesArray.length != vertexCount)
|
||||||
alpha = 1;
|
alpha = 1;
|
||||||
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
||||||
@ -631,6 +573,96 @@ var spine;
|
|||||||
return DeformTimeline;
|
return DeformTimeline;
|
||||||
}(CurveTimeline));
|
}(CurveTimeline));
|
||||||
spine.DeformTimeline = DeformTimeline;
|
spine.DeformTimeline = DeformTimeline;
|
||||||
|
var EventTimeline = (function () {
|
||||||
|
function EventTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.events = new Array(frameCount);
|
||||||
|
}
|
||||||
|
EventTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.event << 24;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
||||||
|
this.frames[frameIndex] = event.time;
|
||||||
|
this.events[frameIndex] = event;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
if (firedEvents == null)
|
||||||
|
return;
|
||||||
|
var frames = this.frames;
|
||||||
|
var frameCount = this.frames.length;
|
||||||
|
if (lastTime > time) {
|
||||||
|
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
||||||
|
lastTime = -1;
|
||||||
|
}
|
||||||
|
else if (lastTime >= frames[frameCount - 1])
|
||||||
|
return;
|
||||||
|
if (time < frames[0])
|
||||||
|
return;
|
||||||
|
var frame = 0;
|
||||||
|
if (lastTime < frames[0])
|
||||||
|
frame = 0;
|
||||||
|
else {
|
||||||
|
frame = Animation.binarySearch(frames, lastTime);
|
||||||
|
var frameTime = frames[frame];
|
||||||
|
while (frame > 0) {
|
||||||
|
if (frames[frame - 1] != frameTime)
|
||||||
|
break;
|
||||||
|
frame--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (; frame < frameCount && time >= frames[frame]; frame++)
|
||||||
|
firedEvents.push(this.events[frame]);
|
||||||
|
};
|
||||||
|
return EventTimeline;
|
||||||
|
}());
|
||||||
|
spine.EventTimeline = EventTimeline;
|
||||||
|
var DrawOrderTimeline = (function () {
|
||||||
|
function DrawOrderTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.drawOrders = new Array(frameCount);
|
||||||
|
}
|
||||||
|
DrawOrderTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.drawOrder << 24;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
||||||
|
this.frames[frameIndex] = time;
|
||||||
|
this.drawOrders[frameIndex] = drawOrder;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
var drawOrder = skeleton.drawOrder;
|
||||||
|
var slots = skeleton.slots;
|
||||||
|
if (mixingOut && setupPose) {
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frames = this.frames;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frame = 0;
|
||||||
|
if (time >= frames[frames.length - 1])
|
||||||
|
frame = frames.length - 1;
|
||||||
|
else
|
||||||
|
frame = Animation.binarySearch(frames, time) - 1;
|
||||||
|
var drawOrderToSetupIndex = this.drawOrders[frame];
|
||||||
|
if (drawOrderToSetupIndex == null)
|
||||||
|
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
||||||
|
else {
|
||||||
|
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
||||||
|
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return DrawOrderTimeline;
|
||||||
|
}());
|
||||||
|
spine.DrawOrderTimeline = DrawOrderTimeline;
|
||||||
var IkConstraintTimeline = (function (_super) {
|
var IkConstraintTimeline = (function (_super) {
|
||||||
__extends(IkConstraintTimeline, _super);
|
__extends(IkConstraintTimeline, _super);
|
||||||
function IkConstraintTimeline(frameCount) {
|
function IkConstraintTimeline(frameCount) {
|
||||||
@ -648,9 +680,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.mix = constraint.data.mix;
|
||||||
|
constraint.bendDirection = constraint.data.bendDirection;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
||||||
if (setupPose) {
|
if (setupPose) {
|
||||||
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
||||||
@ -706,9 +743,17 @@ var spine;
|
|||||||
};
|
};
|
||||||
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var data = constraint.data;
|
||||||
|
constraint.rotateMix = data.rotateMix;
|
||||||
|
constraint.translateMix = data.rotateMix;
|
||||||
|
constraint.scaleMix = data.scaleMix;
|
||||||
|
constraint.shearMix = data.shearMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
||||||
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -773,9 +818,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.position = constraint.data.position;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var position = 0;
|
var position = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
||||||
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
||||||
@ -808,9 +856,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.spacing = constraint.data.spacing;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var spacing = 0;
|
var spacing = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
||||||
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
||||||
@ -846,9 +897,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.rotateMix = constraint.data.rotateMix;
|
||||||
|
constraint.translateMix = constraint.data.translateMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0;
|
var rotate = 0, translate = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
||||||
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
20
spine-ts/build/spine-threejs.d.ts
vendored
20
spine-ts/build/spine-threejs.d.ts
vendored
@ -108,6 +108,16 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
|
class DeformTimeline extends CurveTimeline {
|
||||||
|
slotIndex: number;
|
||||||
|
attachment: VertexAttachment;
|
||||||
|
frames: ArrayLike<number>;
|
||||||
|
frameVertices: Array<ArrayLike<number>>;
|
||||||
|
constructor(frameCount: number);
|
||||||
|
getPropertyId(): number;
|
||||||
|
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
||||||
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
|
}
|
||||||
class EventTimeline implements Timeline {
|
class EventTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
events: Array<Event>;
|
events: Array<Event>;
|
||||||
@ -126,16 +136,6 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
class DeformTimeline extends CurveTimeline {
|
|
||||||
slotIndex: number;
|
|
||||||
attachment: VertexAttachment;
|
|
||||||
frames: ArrayLike<number>;
|
|
||||||
frameVertices: Array<ArrayLike<number>>;
|
|
||||||
constructor(frameCount: number);
|
|
||||||
getPropertyId(): number;
|
|
||||||
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
|
||||||
}
|
|
||||||
class IkConstraintTimeline extends CurveTimeline {
|
class IkConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
static PREV_TIME: number;
|
static PREV_TIME: number;
|
||||||
|
|||||||
@ -168,9 +168,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
||||||
if (setupPose)
|
if (setupPose)
|
||||||
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
||||||
@ -222,9 +225,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.x = bone.data.x;
|
||||||
|
bone.y = bone.data.y;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + TranslateTimeline.PREV_X];
|
x = frames[frames.length + TranslateTimeline.PREV_X];
|
||||||
@ -267,9 +275,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.scaleX = bone.data.scaleX;
|
||||||
|
bone.scaleY = bone.data.scaleY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
||||||
@ -323,9 +336,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.shearX = bone.data.shearX;
|
||||||
|
bone.shearY = bone.data.shearY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ShearTimeline.PREV_X];
|
x = frames[frames.length + ShearTimeline.PREV_X];
|
||||||
@ -370,9 +388,13 @@ var spine;
|
|||||||
this.frames[frameIndex + ColorTimeline.A] = a;
|
this.frames[frameIndex + ColorTimeline.A] = a;
|
||||||
};
|
};
|
||||||
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
slot.color.setFromColor(slot.data.color);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var r = 0, g = 0, b = 0, a = 0;
|
var r = 0, g = 0, b = 0, a = 0;
|
||||||
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -394,7 +416,6 @@ var spine;
|
|||||||
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
||||||
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
||||||
}
|
}
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
if (alpha == 1)
|
if (alpha == 1)
|
||||||
slot.color.set(r, g, b, a);
|
slot.color.set(r, g, b, a);
|
||||||
else {
|
else {
|
||||||
@ -433,15 +454,20 @@ var spine;
|
|||||||
this.attachmentNames[frameIndex] = attachmentName;
|
this.attachmentNames[frameIndex] = attachmentName;
|
||||||
};
|
};
|
||||||
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
if (mixingOut && setupPose) {
|
if (mixingOut && setupPose) {
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
var attachmentName_1 = slot.data.attachmentName;
|
var attachmentName_1 = slot.data.attachmentName;
|
||||||
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var attachmentName_2 = slot.data.attachmentName;
|
||||||
|
slot.setAttachment(attachmentName_2 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_2));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameIndex = 0;
|
var frameIndex = 0;
|
||||||
if (time >= frames[frames.length - 1])
|
if (time >= frames[frames.length - 1])
|
||||||
frameIndex = frames.length - 1;
|
frameIndex = frames.length - 1;
|
||||||
@ -454,93 +480,6 @@ var spine;
|
|||||||
return AttachmentTimeline;
|
return AttachmentTimeline;
|
||||||
}());
|
}());
|
||||||
spine.AttachmentTimeline = AttachmentTimeline;
|
spine.AttachmentTimeline = AttachmentTimeline;
|
||||||
var EventTimeline = (function () {
|
|
||||||
function EventTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.events = new Array(frameCount);
|
|
||||||
}
|
|
||||||
EventTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.event << 24;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
|
||||||
this.frames[frameIndex] = event.time;
|
|
||||||
this.events[frameIndex] = event;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (firedEvents == null)
|
|
||||||
return;
|
|
||||||
var frames = this.frames;
|
|
||||||
var frameCount = this.frames.length;
|
|
||||||
if (lastTime > time) {
|
|
||||||
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
|
||||||
lastTime = -1;
|
|
||||||
}
|
|
||||||
else if (lastTime >= frames[frameCount - 1])
|
|
||||||
return;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (lastTime < frames[0])
|
|
||||||
frame = 0;
|
|
||||||
else {
|
|
||||||
frame = Animation.binarySearch(frames, lastTime);
|
|
||||||
var frameTime = frames[frame];
|
|
||||||
while (frame > 0) {
|
|
||||||
if (frames[frame - 1] != frameTime)
|
|
||||||
break;
|
|
||||||
frame--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (; frame < frameCount && time >= frames[frame]; frame++)
|
|
||||||
firedEvents.push(this.events[frame]);
|
|
||||||
};
|
|
||||||
return EventTimeline;
|
|
||||||
}());
|
|
||||||
spine.EventTimeline = EventTimeline;
|
|
||||||
var DrawOrderTimeline = (function () {
|
|
||||||
function DrawOrderTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.drawOrders = new Array(frameCount);
|
|
||||||
}
|
|
||||||
DrawOrderTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.drawOrder << 24;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
|
||||||
this.frames[frameIndex] = time;
|
|
||||||
this.drawOrders[frameIndex] = drawOrder;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (mixingOut && setupPose) {
|
|
||||||
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var frames = this.frames;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (time >= frames[frames.length - 1])
|
|
||||||
frame = frames.length - 1;
|
|
||||||
else
|
|
||||||
frame = Animation.binarySearch(frames, time) - 1;
|
|
||||||
var drawOrder = skeleton.drawOrder;
|
|
||||||
var slots = skeleton.slots;
|
|
||||||
var drawOrderToSetupIndex = this.drawOrders[frame];
|
|
||||||
if (drawOrderToSetupIndex == null)
|
|
||||||
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
|
||||||
else {
|
|
||||||
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
|
||||||
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return DrawOrderTimeline;
|
|
||||||
}());
|
|
||||||
spine.DrawOrderTimeline = DrawOrderTimeline;
|
|
||||||
var DeformTimeline = (function (_super) {
|
var DeformTimeline = (function (_super) {
|
||||||
__extends(DeformTimeline, _super);
|
__extends(DeformTimeline, _super);
|
||||||
function DeformTimeline(frameCount) {
|
function DeformTimeline(frameCount) {
|
||||||
@ -561,11 +500,14 @@ var spine;
|
|||||||
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
||||||
return;
|
return;
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
var verticesArray = slot.attachmentVertices;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.setArraySize(verticesArray, 0);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameVertices = this.frameVertices;
|
var frameVertices = this.frameVertices;
|
||||||
var vertexCount = frameVertices[0].length;
|
var vertexCount = frameVertices[0].length;
|
||||||
var verticesArray = slot.attachmentVertices;
|
|
||||||
if (verticesArray.length != vertexCount)
|
if (verticesArray.length != vertexCount)
|
||||||
alpha = 1;
|
alpha = 1;
|
||||||
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
||||||
@ -631,6 +573,96 @@ var spine;
|
|||||||
return DeformTimeline;
|
return DeformTimeline;
|
||||||
}(CurveTimeline));
|
}(CurveTimeline));
|
||||||
spine.DeformTimeline = DeformTimeline;
|
spine.DeformTimeline = DeformTimeline;
|
||||||
|
var EventTimeline = (function () {
|
||||||
|
function EventTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.events = new Array(frameCount);
|
||||||
|
}
|
||||||
|
EventTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.event << 24;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
||||||
|
this.frames[frameIndex] = event.time;
|
||||||
|
this.events[frameIndex] = event;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
if (firedEvents == null)
|
||||||
|
return;
|
||||||
|
var frames = this.frames;
|
||||||
|
var frameCount = this.frames.length;
|
||||||
|
if (lastTime > time) {
|
||||||
|
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
||||||
|
lastTime = -1;
|
||||||
|
}
|
||||||
|
else if (lastTime >= frames[frameCount - 1])
|
||||||
|
return;
|
||||||
|
if (time < frames[0])
|
||||||
|
return;
|
||||||
|
var frame = 0;
|
||||||
|
if (lastTime < frames[0])
|
||||||
|
frame = 0;
|
||||||
|
else {
|
||||||
|
frame = Animation.binarySearch(frames, lastTime);
|
||||||
|
var frameTime = frames[frame];
|
||||||
|
while (frame > 0) {
|
||||||
|
if (frames[frame - 1] != frameTime)
|
||||||
|
break;
|
||||||
|
frame--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (; frame < frameCount && time >= frames[frame]; frame++)
|
||||||
|
firedEvents.push(this.events[frame]);
|
||||||
|
};
|
||||||
|
return EventTimeline;
|
||||||
|
}());
|
||||||
|
spine.EventTimeline = EventTimeline;
|
||||||
|
var DrawOrderTimeline = (function () {
|
||||||
|
function DrawOrderTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.drawOrders = new Array(frameCount);
|
||||||
|
}
|
||||||
|
DrawOrderTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.drawOrder << 24;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
||||||
|
this.frames[frameIndex] = time;
|
||||||
|
this.drawOrders[frameIndex] = drawOrder;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
var drawOrder = skeleton.drawOrder;
|
||||||
|
var slots = skeleton.slots;
|
||||||
|
if (mixingOut && setupPose) {
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frames = this.frames;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frame = 0;
|
||||||
|
if (time >= frames[frames.length - 1])
|
||||||
|
frame = frames.length - 1;
|
||||||
|
else
|
||||||
|
frame = Animation.binarySearch(frames, time) - 1;
|
||||||
|
var drawOrderToSetupIndex = this.drawOrders[frame];
|
||||||
|
if (drawOrderToSetupIndex == null)
|
||||||
|
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
||||||
|
else {
|
||||||
|
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
||||||
|
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return DrawOrderTimeline;
|
||||||
|
}());
|
||||||
|
spine.DrawOrderTimeline = DrawOrderTimeline;
|
||||||
var IkConstraintTimeline = (function (_super) {
|
var IkConstraintTimeline = (function (_super) {
|
||||||
__extends(IkConstraintTimeline, _super);
|
__extends(IkConstraintTimeline, _super);
|
||||||
function IkConstraintTimeline(frameCount) {
|
function IkConstraintTimeline(frameCount) {
|
||||||
@ -648,9 +680,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.mix = constraint.data.mix;
|
||||||
|
constraint.bendDirection = constraint.data.bendDirection;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
||||||
if (setupPose) {
|
if (setupPose) {
|
||||||
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
||||||
@ -706,9 +743,17 @@ var spine;
|
|||||||
};
|
};
|
||||||
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var data = constraint.data;
|
||||||
|
constraint.rotateMix = data.rotateMix;
|
||||||
|
constraint.translateMix = data.rotateMix;
|
||||||
|
constraint.scaleMix = data.scaleMix;
|
||||||
|
constraint.shearMix = data.shearMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
||||||
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -773,9 +818,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.position = constraint.data.position;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var position = 0;
|
var position = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
||||||
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
||||||
@ -808,9 +856,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.spacing = constraint.data.spacing;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var spacing = 0;
|
var spacing = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
||||||
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
||||||
@ -846,9 +897,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.rotateMix = constraint.data.rotateMix;
|
||||||
|
constraint.translateMix = constraint.data.translateMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0;
|
var rotate = 0, translate = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
||||||
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
20
spine-ts/build/spine-webgl.d.ts
vendored
20
spine-ts/build/spine-webgl.d.ts
vendored
@ -108,6 +108,16 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
|
class DeformTimeline extends CurveTimeline {
|
||||||
|
slotIndex: number;
|
||||||
|
attachment: VertexAttachment;
|
||||||
|
frames: ArrayLike<number>;
|
||||||
|
frameVertices: Array<ArrayLike<number>>;
|
||||||
|
constructor(frameCount: number);
|
||||||
|
getPropertyId(): number;
|
||||||
|
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
||||||
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
|
}
|
||||||
class EventTimeline implements Timeline {
|
class EventTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
events: Array<Event>;
|
events: Array<Event>;
|
||||||
@ -126,16 +136,6 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
class DeformTimeline extends CurveTimeline {
|
|
||||||
slotIndex: number;
|
|
||||||
attachment: VertexAttachment;
|
|
||||||
frames: ArrayLike<number>;
|
|
||||||
frameVertices: Array<ArrayLike<number>>;
|
|
||||||
constructor(frameCount: number);
|
|
||||||
getPropertyId(): number;
|
|
||||||
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
|
||||||
}
|
|
||||||
class IkConstraintTimeline extends CurveTimeline {
|
class IkConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
static PREV_TIME: number;
|
static PREV_TIME: number;
|
||||||
|
|||||||
@ -168,9 +168,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
||||||
if (setupPose)
|
if (setupPose)
|
||||||
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
||||||
@ -222,9 +225,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.x = bone.data.x;
|
||||||
|
bone.y = bone.data.y;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + TranslateTimeline.PREV_X];
|
x = frames[frames.length + TranslateTimeline.PREV_X];
|
||||||
@ -267,9 +275,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.scaleX = bone.data.scaleX;
|
||||||
|
bone.scaleY = bone.data.scaleY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
||||||
@ -323,9 +336,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.shearX = bone.data.shearX;
|
||||||
|
bone.shearY = bone.data.shearY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ShearTimeline.PREV_X];
|
x = frames[frames.length + ShearTimeline.PREV_X];
|
||||||
@ -370,9 +388,13 @@ var spine;
|
|||||||
this.frames[frameIndex + ColorTimeline.A] = a;
|
this.frames[frameIndex + ColorTimeline.A] = a;
|
||||||
};
|
};
|
||||||
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
slot.color.setFromColor(slot.data.color);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var r = 0, g = 0, b = 0, a = 0;
|
var r = 0, g = 0, b = 0, a = 0;
|
||||||
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -394,7 +416,6 @@ var spine;
|
|||||||
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
||||||
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
||||||
}
|
}
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
if (alpha == 1)
|
if (alpha == 1)
|
||||||
slot.color.set(r, g, b, a);
|
slot.color.set(r, g, b, a);
|
||||||
else {
|
else {
|
||||||
@ -433,15 +454,20 @@ var spine;
|
|||||||
this.attachmentNames[frameIndex] = attachmentName;
|
this.attachmentNames[frameIndex] = attachmentName;
|
||||||
};
|
};
|
||||||
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
if (mixingOut && setupPose) {
|
if (mixingOut && setupPose) {
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
var attachmentName_1 = slot.data.attachmentName;
|
var attachmentName_1 = slot.data.attachmentName;
|
||||||
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var attachmentName_2 = slot.data.attachmentName;
|
||||||
|
slot.setAttachment(attachmentName_2 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_2));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameIndex = 0;
|
var frameIndex = 0;
|
||||||
if (time >= frames[frames.length - 1])
|
if (time >= frames[frames.length - 1])
|
||||||
frameIndex = frames.length - 1;
|
frameIndex = frames.length - 1;
|
||||||
@ -454,93 +480,6 @@ var spine;
|
|||||||
return AttachmentTimeline;
|
return AttachmentTimeline;
|
||||||
}());
|
}());
|
||||||
spine.AttachmentTimeline = AttachmentTimeline;
|
spine.AttachmentTimeline = AttachmentTimeline;
|
||||||
var EventTimeline = (function () {
|
|
||||||
function EventTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.events = new Array(frameCount);
|
|
||||||
}
|
|
||||||
EventTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.event << 24;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
|
||||||
this.frames[frameIndex] = event.time;
|
|
||||||
this.events[frameIndex] = event;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (firedEvents == null)
|
|
||||||
return;
|
|
||||||
var frames = this.frames;
|
|
||||||
var frameCount = this.frames.length;
|
|
||||||
if (lastTime > time) {
|
|
||||||
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
|
||||||
lastTime = -1;
|
|
||||||
}
|
|
||||||
else if (lastTime >= frames[frameCount - 1])
|
|
||||||
return;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (lastTime < frames[0])
|
|
||||||
frame = 0;
|
|
||||||
else {
|
|
||||||
frame = Animation.binarySearch(frames, lastTime);
|
|
||||||
var frameTime = frames[frame];
|
|
||||||
while (frame > 0) {
|
|
||||||
if (frames[frame - 1] != frameTime)
|
|
||||||
break;
|
|
||||||
frame--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (; frame < frameCount && time >= frames[frame]; frame++)
|
|
||||||
firedEvents.push(this.events[frame]);
|
|
||||||
};
|
|
||||||
return EventTimeline;
|
|
||||||
}());
|
|
||||||
spine.EventTimeline = EventTimeline;
|
|
||||||
var DrawOrderTimeline = (function () {
|
|
||||||
function DrawOrderTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.drawOrders = new Array(frameCount);
|
|
||||||
}
|
|
||||||
DrawOrderTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.drawOrder << 24;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
|
||||||
this.frames[frameIndex] = time;
|
|
||||||
this.drawOrders[frameIndex] = drawOrder;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (mixingOut && setupPose) {
|
|
||||||
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var frames = this.frames;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (time >= frames[frames.length - 1])
|
|
||||||
frame = frames.length - 1;
|
|
||||||
else
|
|
||||||
frame = Animation.binarySearch(frames, time) - 1;
|
|
||||||
var drawOrder = skeleton.drawOrder;
|
|
||||||
var slots = skeleton.slots;
|
|
||||||
var drawOrderToSetupIndex = this.drawOrders[frame];
|
|
||||||
if (drawOrderToSetupIndex == null)
|
|
||||||
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
|
||||||
else {
|
|
||||||
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
|
||||||
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return DrawOrderTimeline;
|
|
||||||
}());
|
|
||||||
spine.DrawOrderTimeline = DrawOrderTimeline;
|
|
||||||
var DeformTimeline = (function (_super) {
|
var DeformTimeline = (function (_super) {
|
||||||
__extends(DeformTimeline, _super);
|
__extends(DeformTimeline, _super);
|
||||||
function DeformTimeline(frameCount) {
|
function DeformTimeline(frameCount) {
|
||||||
@ -561,11 +500,14 @@ var spine;
|
|||||||
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
||||||
return;
|
return;
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
var verticesArray = slot.attachmentVertices;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.setArraySize(verticesArray, 0);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameVertices = this.frameVertices;
|
var frameVertices = this.frameVertices;
|
||||||
var vertexCount = frameVertices[0].length;
|
var vertexCount = frameVertices[0].length;
|
||||||
var verticesArray = slot.attachmentVertices;
|
|
||||||
if (verticesArray.length != vertexCount)
|
if (verticesArray.length != vertexCount)
|
||||||
alpha = 1;
|
alpha = 1;
|
||||||
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
||||||
@ -631,6 +573,96 @@ var spine;
|
|||||||
return DeformTimeline;
|
return DeformTimeline;
|
||||||
}(CurveTimeline));
|
}(CurveTimeline));
|
||||||
spine.DeformTimeline = DeformTimeline;
|
spine.DeformTimeline = DeformTimeline;
|
||||||
|
var EventTimeline = (function () {
|
||||||
|
function EventTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.events = new Array(frameCount);
|
||||||
|
}
|
||||||
|
EventTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.event << 24;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
||||||
|
this.frames[frameIndex] = event.time;
|
||||||
|
this.events[frameIndex] = event;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
if (firedEvents == null)
|
||||||
|
return;
|
||||||
|
var frames = this.frames;
|
||||||
|
var frameCount = this.frames.length;
|
||||||
|
if (lastTime > time) {
|
||||||
|
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
||||||
|
lastTime = -1;
|
||||||
|
}
|
||||||
|
else if (lastTime >= frames[frameCount - 1])
|
||||||
|
return;
|
||||||
|
if (time < frames[0])
|
||||||
|
return;
|
||||||
|
var frame = 0;
|
||||||
|
if (lastTime < frames[0])
|
||||||
|
frame = 0;
|
||||||
|
else {
|
||||||
|
frame = Animation.binarySearch(frames, lastTime);
|
||||||
|
var frameTime = frames[frame];
|
||||||
|
while (frame > 0) {
|
||||||
|
if (frames[frame - 1] != frameTime)
|
||||||
|
break;
|
||||||
|
frame--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (; frame < frameCount && time >= frames[frame]; frame++)
|
||||||
|
firedEvents.push(this.events[frame]);
|
||||||
|
};
|
||||||
|
return EventTimeline;
|
||||||
|
}());
|
||||||
|
spine.EventTimeline = EventTimeline;
|
||||||
|
var DrawOrderTimeline = (function () {
|
||||||
|
function DrawOrderTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.drawOrders = new Array(frameCount);
|
||||||
|
}
|
||||||
|
DrawOrderTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.drawOrder << 24;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
||||||
|
this.frames[frameIndex] = time;
|
||||||
|
this.drawOrders[frameIndex] = drawOrder;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
var drawOrder = skeleton.drawOrder;
|
||||||
|
var slots = skeleton.slots;
|
||||||
|
if (mixingOut && setupPose) {
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frames = this.frames;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frame = 0;
|
||||||
|
if (time >= frames[frames.length - 1])
|
||||||
|
frame = frames.length - 1;
|
||||||
|
else
|
||||||
|
frame = Animation.binarySearch(frames, time) - 1;
|
||||||
|
var drawOrderToSetupIndex = this.drawOrders[frame];
|
||||||
|
if (drawOrderToSetupIndex == null)
|
||||||
|
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
||||||
|
else {
|
||||||
|
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
||||||
|
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return DrawOrderTimeline;
|
||||||
|
}());
|
||||||
|
spine.DrawOrderTimeline = DrawOrderTimeline;
|
||||||
var IkConstraintTimeline = (function (_super) {
|
var IkConstraintTimeline = (function (_super) {
|
||||||
__extends(IkConstraintTimeline, _super);
|
__extends(IkConstraintTimeline, _super);
|
||||||
function IkConstraintTimeline(frameCount) {
|
function IkConstraintTimeline(frameCount) {
|
||||||
@ -648,9 +680,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.mix = constraint.data.mix;
|
||||||
|
constraint.bendDirection = constraint.data.bendDirection;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
||||||
if (setupPose) {
|
if (setupPose) {
|
||||||
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
||||||
@ -706,9 +743,17 @@ var spine;
|
|||||||
};
|
};
|
||||||
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var data = constraint.data;
|
||||||
|
constraint.rotateMix = data.rotateMix;
|
||||||
|
constraint.translateMix = data.rotateMix;
|
||||||
|
constraint.scaleMix = data.scaleMix;
|
||||||
|
constraint.shearMix = data.shearMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
||||||
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -773,9 +818,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.position = constraint.data.position;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var position = 0;
|
var position = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
||||||
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
||||||
@ -808,9 +856,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.spacing = constraint.data.spacing;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var spacing = 0;
|
var spacing = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
||||||
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
||||||
@ -846,9 +897,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.rotateMix = constraint.data.rotateMix;
|
||||||
|
constraint.translateMix = constraint.data.translateMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0;
|
var rotate = 0, translate = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
||||||
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
20
spine-ts/build/spine-widget.d.ts
vendored
20
spine-ts/build/spine-widget.d.ts
vendored
@ -108,6 +108,16 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
setFrame(frameIndex: number, time: number, attachmentName: string): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
|
class DeformTimeline extends CurveTimeline {
|
||||||
|
slotIndex: number;
|
||||||
|
attachment: VertexAttachment;
|
||||||
|
frames: ArrayLike<number>;
|
||||||
|
frameVertices: Array<ArrayLike<number>>;
|
||||||
|
constructor(frameCount: number);
|
||||||
|
getPropertyId(): number;
|
||||||
|
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
||||||
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
|
}
|
||||||
class EventTimeline implements Timeline {
|
class EventTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
events: Array<Event>;
|
events: Array<Event>;
|
||||||
@ -126,16 +136,6 @@ declare module spine {
|
|||||||
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
setFrame(frameIndex: number, time: number, drawOrder: Array<number>): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
||||||
}
|
}
|
||||||
class DeformTimeline extends CurveTimeline {
|
|
||||||
slotIndex: number;
|
|
||||||
attachment: VertexAttachment;
|
|
||||||
frames: ArrayLike<number>;
|
|
||||||
frameVertices: Array<ArrayLike<number>>;
|
|
||||||
constructor(frameCount: number);
|
|
||||||
getPropertyId(): number;
|
|
||||||
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean): void;
|
|
||||||
}
|
|
||||||
class IkConstraintTimeline extends CurveTimeline {
|
class IkConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
static PREV_TIME: number;
|
static PREV_TIME: number;
|
||||||
|
|||||||
@ -168,9 +168,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {
|
||||||
if (setupPose)
|
if (setupPose)
|
||||||
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
bone.rotation = bone.data.rotation + frames[frames.length + RotateTimeline.PREV_ROTATION] * alpha;
|
||||||
@ -222,9 +225,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.x = bone.data.x;
|
||||||
|
bone.y = bone.data.y;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + TranslateTimeline.PREV_X];
|
x = frames[frames.length + TranslateTimeline.PREV_X];
|
||||||
@ -267,9 +275,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.scaleX = bone.data.scaleX;
|
||||||
|
bone.scaleY = bone.data.scaleY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
||||||
@ -323,9 +336,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[this.boneIndex];
|
var bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.shearX = bone.data.shearX;
|
||||||
|
bone.shearY = bone.data.shearY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var x = 0, y = 0;
|
var x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {
|
||||||
x = frames[frames.length + ShearTimeline.PREV_X];
|
x = frames[frames.length + ShearTimeline.PREV_X];
|
||||||
@ -370,9 +388,13 @@ var spine;
|
|||||||
this.frames[frameIndex + ColorTimeline.A] = a;
|
this.frames[frameIndex + ColorTimeline.A] = a;
|
||||||
};
|
};
|
||||||
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
slot.color.setFromColor(slot.data.color);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var r = 0, g = 0, b = 0, a = 0;
|
var r = 0, g = 0, b = 0, a = 0;
|
||||||
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -394,7 +416,6 @@ var spine;
|
|||||||
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
||||||
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
||||||
}
|
}
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
if (alpha == 1)
|
if (alpha == 1)
|
||||||
slot.color.set(r, g, b, a);
|
slot.color.set(r, g, b, a);
|
||||||
else {
|
else {
|
||||||
@ -433,15 +454,20 @@ var spine;
|
|||||||
this.attachmentNames[frameIndex] = attachmentName;
|
this.attachmentNames[frameIndex] = attachmentName;
|
||||||
};
|
};
|
||||||
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, setupPose, mixingOut) {
|
||||||
|
var slot = skeleton.slots[this.slotIndex];
|
||||||
if (mixingOut && setupPose) {
|
if (mixingOut && setupPose) {
|
||||||
var slot = skeleton.slots[this.slotIndex];
|
|
||||||
var attachmentName_1 = slot.data.attachmentName;
|
var attachmentName_1 = slot.data.attachmentName;
|
||||||
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
slot.setAttachment(attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var attachmentName_2 = slot.data.attachmentName;
|
||||||
|
slot.setAttachment(attachmentName_2 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_2));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameIndex = 0;
|
var frameIndex = 0;
|
||||||
if (time >= frames[frames.length - 1])
|
if (time >= frames[frames.length - 1])
|
||||||
frameIndex = frames.length - 1;
|
frameIndex = frames.length - 1;
|
||||||
@ -454,93 +480,6 @@ var spine;
|
|||||||
return AttachmentTimeline;
|
return AttachmentTimeline;
|
||||||
}());
|
}());
|
||||||
spine.AttachmentTimeline = AttachmentTimeline;
|
spine.AttachmentTimeline = AttachmentTimeline;
|
||||||
var EventTimeline = (function () {
|
|
||||||
function EventTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.events = new Array(frameCount);
|
|
||||||
}
|
|
||||||
EventTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.event << 24;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
|
||||||
this.frames[frameIndex] = event.time;
|
|
||||||
this.events[frameIndex] = event;
|
|
||||||
};
|
|
||||||
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (firedEvents == null)
|
|
||||||
return;
|
|
||||||
var frames = this.frames;
|
|
||||||
var frameCount = this.frames.length;
|
|
||||||
if (lastTime > time) {
|
|
||||||
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
|
||||||
lastTime = -1;
|
|
||||||
}
|
|
||||||
else if (lastTime >= frames[frameCount - 1])
|
|
||||||
return;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (lastTime < frames[0])
|
|
||||||
frame = 0;
|
|
||||||
else {
|
|
||||||
frame = Animation.binarySearch(frames, lastTime);
|
|
||||||
var frameTime = frames[frame];
|
|
||||||
while (frame > 0) {
|
|
||||||
if (frames[frame - 1] != frameTime)
|
|
||||||
break;
|
|
||||||
frame--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (; frame < frameCount && time >= frames[frame]; frame++)
|
|
||||||
firedEvents.push(this.events[frame]);
|
|
||||||
};
|
|
||||||
return EventTimeline;
|
|
||||||
}());
|
|
||||||
spine.EventTimeline = EventTimeline;
|
|
||||||
var DrawOrderTimeline = (function () {
|
|
||||||
function DrawOrderTimeline(frameCount) {
|
|
||||||
this.frames = spine.Utils.newFloatArray(frameCount);
|
|
||||||
this.drawOrders = new Array(frameCount);
|
|
||||||
}
|
|
||||||
DrawOrderTimeline.prototype.getPropertyId = function () {
|
|
||||||
return TimelineType.drawOrder << 24;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.getFrameCount = function () {
|
|
||||||
return this.frames.length;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
|
||||||
this.frames[frameIndex] = time;
|
|
||||||
this.drawOrders[frameIndex] = drawOrder;
|
|
||||||
};
|
|
||||||
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
|
||||||
if (mixingOut && setupPose) {
|
|
||||||
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var frames = this.frames;
|
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var frame = 0;
|
|
||||||
if (time >= frames[frames.length - 1])
|
|
||||||
frame = frames.length - 1;
|
|
||||||
else
|
|
||||||
frame = Animation.binarySearch(frames, time) - 1;
|
|
||||||
var drawOrder = skeleton.drawOrder;
|
|
||||||
var slots = skeleton.slots;
|
|
||||||
var drawOrderToSetupIndex = this.drawOrders[frame];
|
|
||||||
if (drawOrderToSetupIndex == null)
|
|
||||||
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
|
||||||
else {
|
|
||||||
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
|
||||||
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return DrawOrderTimeline;
|
|
||||||
}());
|
|
||||||
spine.DrawOrderTimeline = DrawOrderTimeline;
|
|
||||||
var DeformTimeline = (function (_super) {
|
var DeformTimeline = (function (_super) {
|
||||||
__extends(DeformTimeline, _super);
|
__extends(DeformTimeline, _super);
|
||||||
function DeformTimeline(frameCount) {
|
function DeformTimeline(frameCount) {
|
||||||
@ -561,11 +500,14 @@ var spine;
|
|||||||
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
if (!(slotAttachment instanceof spine.VertexAttachment) || !slotAttachment.applyDeform(this.attachment))
|
||||||
return;
|
return;
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
var verticesArray = slot.attachmentVertices;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.setArraySize(verticesArray, 0);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
var frameVertices = this.frameVertices;
|
var frameVertices = this.frameVertices;
|
||||||
var vertexCount = frameVertices[0].length;
|
var vertexCount = frameVertices[0].length;
|
||||||
var verticesArray = slot.attachmentVertices;
|
|
||||||
if (verticesArray.length != vertexCount)
|
if (verticesArray.length != vertexCount)
|
||||||
alpha = 1;
|
alpha = 1;
|
||||||
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
var vertices = spine.Utils.setArraySize(verticesArray, vertexCount);
|
||||||
@ -631,6 +573,96 @@ var spine;
|
|||||||
return DeformTimeline;
|
return DeformTimeline;
|
||||||
}(CurveTimeline));
|
}(CurveTimeline));
|
||||||
spine.DeformTimeline = DeformTimeline;
|
spine.DeformTimeline = DeformTimeline;
|
||||||
|
var EventTimeline = (function () {
|
||||||
|
function EventTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.events = new Array(frameCount);
|
||||||
|
}
|
||||||
|
EventTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.event << 24;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.setFrame = function (frameIndex, event) {
|
||||||
|
this.frames[frameIndex] = event.time;
|
||||||
|
this.events[frameIndex] = event;
|
||||||
|
};
|
||||||
|
EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
if (firedEvents == null)
|
||||||
|
return;
|
||||||
|
var frames = this.frames;
|
||||||
|
var frameCount = this.frames.length;
|
||||||
|
if (lastTime > time) {
|
||||||
|
this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, setupPose, mixingOut);
|
||||||
|
lastTime = -1;
|
||||||
|
}
|
||||||
|
else if (lastTime >= frames[frameCount - 1])
|
||||||
|
return;
|
||||||
|
if (time < frames[0])
|
||||||
|
return;
|
||||||
|
var frame = 0;
|
||||||
|
if (lastTime < frames[0])
|
||||||
|
frame = 0;
|
||||||
|
else {
|
||||||
|
frame = Animation.binarySearch(frames, lastTime);
|
||||||
|
var frameTime = frames[frame];
|
||||||
|
while (frame > 0) {
|
||||||
|
if (frames[frame - 1] != frameTime)
|
||||||
|
break;
|
||||||
|
frame--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (; frame < frameCount && time >= frames[frame]; frame++)
|
||||||
|
firedEvents.push(this.events[frame]);
|
||||||
|
};
|
||||||
|
return EventTimeline;
|
||||||
|
}());
|
||||||
|
spine.EventTimeline = EventTimeline;
|
||||||
|
var DrawOrderTimeline = (function () {
|
||||||
|
function DrawOrderTimeline(frameCount) {
|
||||||
|
this.frames = spine.Utils.newFloatArray(frameCount);
|
||||||
|
this.drawOrders = new Array(frameCount);
|
||||||
|
}
|
||||||
|
DrawOrderTimeline.prototype.getPropertyId = function () {
|
||||||
|
return TimelineType.drawOrder << 24;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.getFrameCount = function () {
|
||||||
|
return this.frames.length;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {
|
||||||
|
this.frames[frameIndex] = time;
|
||||||
|
this.drawOrders[frameIndex] = drawOrder;
|
||||||
|
};
|
||||||
|
DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
|
var drawOrder = skeleton.drawOrder;
|
||||||
|
var slots = skeleton.slots;
|
||||||
|
if (mixingOut && setupPose) {
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frames = this.frames;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
spine.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var frame = 0;
|
||||||
|
if (time >= frames[frames.length - 1])
|
||||||
|
frame = frames.length - 1;
|
||||||
|
else
|
||||||
|
frame = Animation.binarySearch(frames, time) - 1;
|
||||||
|
var drawOrderToSetupIndex = this.drawOrders[frame];
|
||||||
|
if (drawOrderToSetupIndex == null)
|
||||||
|
spine.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
||||||
|
else {
|
||||||
|
for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++)
|
||||||
|
drawOrder[i] = slots[drawOrderToSetupIndex[i]];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return DrawOrderTimeline;
|
||||||
|
}());
|
||||||
|
spine.DrawOrderTimeline = DrawOrderTimeline;
|
||||||
var IkConstraintTimeline = (function (_super) {
|
var IkConstraintTimeline = (function (_super) {
|
||||||
__extends(IkConstraintTimeline, _super);
|
__extends(IkConstraintTimeline, _super);
|
||||||
function IkConstraintTimeline(frameCount) {
|
function IkConstraintTimeline(frameCount) {
|
||||||
@ -648,9 +680,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
var constraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.mix = constraint.data.mix;
|
||||||
|
constraint.bendDirection = constraint.data.bendDirection;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {
|
||||||
if (setupPose) {
|
if (setupPose) {
|
||||||
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
constraint.mix = constraint.data.mix + (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;
|
||||||
@ -706,9 +743,17 @@ var spine;
|
|||||||
};
|
};
|
||||||
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
TransformConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
var constraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
var data = constraint.data;
|
||||||
|
constraint.rotateMix = data.rotateMix;
|
||||||
|
constraint.translateMix = data.rotateMix;
|
||||||
|
constraint.scaleMix = data.scaleMix;
|
||||||
|
constraint.shearMix = data.shearMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
var rotate = 0, translate = 0, scale = 0, shear = 0;
|
||||||
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {
|
||||||
var i = frames.length;
|
var i = frames.length;
|
||||||
@ -773,9 +818,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintPositionTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.position = constraint.data.position;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var position = 0;
|
var position = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])
|
||||||
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];
|
||||||
@ -808,9 +856,12 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintSpacingTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
constraint.spacing = constraint.data.spacing;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var spacing = 0;
|
var spacing = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])
|
||||||
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];
|
||||||
@ -846,9 +897,14 @@ var spine;
|
|||||||
};
|
};
|
||||||
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
PathConstraintMixTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, setupPose, mixingOut) {
|
||||||
var frames = this.frames;
|
var frames = this.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
var constraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.rotateMix = constraint.data.rotateMix;
|
||||||
|
constraint.translateMix = constraint.data.translateMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rotate = 0, translate = 0;
|
var rotate = 0, translate = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {
|
||||||
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -206,9 +206,12 @@ module spine {
|
|||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let bone = skeleton.bones[this.boneIndex];
|
let bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) { // Time is after last frame.
|
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) { // Time is after last frame.
|
||||||
if (setupPose)
|
if (setupPose)
|
||||||
@ -269,9 +272,15 @@ module spine {
|
|||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let bone = skeleton.bones[this.boneIndex];
|
let bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.x = bone.data.x;
|
||||||
|
bone.y = bone.data.y;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let x = 0, y = 0;
|
let x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) { // Time is after last frame.
|
if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) { // Time is after last frame.
|
||||||
@ -310,9 +319,16 @@ module spine {
|
|||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let bone = skeleton.bones[this.boneIndex];
|
let bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.scaleX = bone.data.scaleX;
|
||||||
|
bone.scaleY = bone.data.scaleY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let x = 0, y = 0;
|
let x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) { // Time is after last frame.
|
if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) { // Time is after last frame.
|
||||||
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;
|
||||||
@ -366,9 +382,15 @@ module spine {
|
|||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let bone = skeleton.bones[this.boneIndex];
|
let bone = skeleton.bones[this.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
bone.shearX = bone.data.shearX;
|
||||||
|
bone.shearY = bone.data.shearY;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let x = 0, y = 0;
|
let x = 0, y = 0;
|
||||||
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) { // Time is after last frame.
|
if (time >= frames[frames.length - ShearTimeline.ENTRIES]) { // Time is after last frame.
|
||||||
@ -424,8 +446,12 @@ module spine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
|
let slot = skeleton.slots[this.slotIndex];
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) slot.color.setFromColor(slot.data.color);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let r = 0, g = 0, b = 0, a = 0;
|
let r = 0, g = 0, b = 0, a = 0;
|
||||||
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) { // Time is after last frame.
|
if (time >= frames[frames.length - ColorTimeline.ENTRIES]) { // Time is after last frame.
|
||||||
@ -450,7 +476,6 @@ module spine {
|
|||||||
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
b += (frames[frame + ColorTimeline.B] - b) * percent;
|
||||||
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
a += (frames[frame + ColorTimeline.A] - a) * percent;
|
||||||
}
|
}
|
||||||
let slot = skeleton.slots[this.slotIndex];
|
|
||||||
if (alpha == 1)
|
if (alpha == 1)
|
||||||
slot.color.set(r, g, b, a);
|
slot.color.set(r, g, b, a);
|
||||||
else {
|
else {
|
||||||
@ -486,15 +511,21 @@ module spine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
|
let slot = skeleton.slots[this.slotIndex];
|
||||||
if (mixingOut && setupPose) {
|
if (mixingOut && setupPose) {
|
||||||
let slot = skeleton.slots[this.slotIndex];
|
|
||||||
let attachmentName = slot.data.attachmentName;
|
let attachmentName = slot.data.attachmentName;
|
||||||
slot.setAttachment(attachmentName == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName));
|
slot.setAttachment(attachmentName == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
let attachmentName = slot.data.attachmentName;
|
||||||
|
slot.setAttachment(attachmentName == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let frameIndex = 0;
|
let frameIndex = 0;
|
||||||
if (time >= frames[frames.length - 1]) // Time is after last frame.
|
if (time >= frames[frames.length - 1]) // Time is after last frame.
|
||||||
@ -508,6 +539,109 @@ module spine {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class DeformTimeline extends CurveTimeline {
|
||||||
|
slotIndex: number;
|
||||||
|
attachment: VertexAttachment;
|
||||||
|
frames: ArrayLike<number>; // time, ...
|
||||||
|
frameVertices: Array<ArrayLike<number>>;
|
||||||
|
|
||||||
|
constructor (frameCount: number) {
|
||||||
|
super(frameCount);
|
||||||
|
this.frames = Utils.newFloatArray(frameCount);
|
||||||
|
this.frameVertices = new Array<ArrayLike<number>>(frameCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
getPropertyId () {
|
||||||
|
return (TimelineType.deform << 24) + this.slotIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Sets the time of the specified keyframe. */
|
||||||
|
setFrame (frameIndex: number, time: number, vertices: ArrayLike<number>) {
|
||||||
|
this.frames[frameIndex] = time;
|
||||||
|
this.frameVertices[frameIndex] = vertices;
|
||||||
|
}
|
||||||
|
|
||||||
|
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
|
let slot: Slot = skeleton.slots[this.slotIndex];
|
||||||
|
let slotAttachment: Attachment = slot.getAttachment();
|
||||||
|
if (!(slotAttachment instanceof VertexAttachment) || !(<VertexAttachment>slotAttachment).applyDeform(this.attachment)) return;
|
||||||
|
|
||||||
|
let frames = this.frames;
|
||||||
|
let verticesArray: Array<number> = slot.attachmentVertices;
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) Utils.setArraySize(verticesArray, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let frameVertices = this.frameVertices;
|
||||||
|
let vertexCount = frameVertices[0].length;
|
||||||
|
|
||||||
|
if (verticesArray.length != vertexCount) alpha = 1; // Don't mix from uninitialized slot vertices.
|
||||||
|
let vertices: Array<number> = Utils.setArraySize(verticesArray, vertexCount);
|
||||||
|
|
||||||
|
if (time >= frames[frames.length - 1]) { // Time is after last frame.
|
||||||
|
let lastVertices = frameVertices[frames.length - 1];
|
||||||
|
if (alpha == 1) {
|
||||||
|
Utils.arrayCopy(lastVertices, 0, vertices, 0, vertexCount);
|
||||||
|
} else if (setupPose) {
|
||||||
|
let vertexAttachment = slotAttachment as VertexAttachment;
|
||||||
|
if (vertexAttachment.bones == null) {
|
||||||
|
// Unweighted vertex positions, with alpha.
|
||||||
|
let setupVertices = vertexAttachment.vertices;
|
||||||
|
for (let i = 0; i < vertexCount; i++) {
|
||||||
|
let setup = setupVertices[i];
|
||||||
|
vertices[i] = setup + (lastVertices[i] - setup) * alpha;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Weighted deform offsets, with alpha.
|
||||||
|
for (let i = 0; i < vertexCount; i++)
|
||||||
|
vertices[i] = lastVertices[i] * alpha;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (let i = 0; i < vertexCount; i++)
|
||||||
|
vertices[i] += (lastVertices[i] - vertices[i]) * alpha;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Interpolate between the previous frame and the current frame.
|
||||||
|
let frame = Animation.binarySearch(frames, time);
|
||||||
|
let prevVertices = frameVertices[frame - 1];
|
||||||
|
let nextVertices = frameVertices[frame];
|
||||||
|
let frameTime = frames[frame];
|
||||||
|
let percent = this.getCurvePercent(frame - 1, 1 - (time - frameTime) / (frames[frame - 1] - frameTime));
|
||||||
|
|
||||||
|
if (alpha == 1) {
|
||||||
|
for (let i = 0; i < vertexCount; i++) {
|
||||||
|
let prev = prevVertices[i];
|
||||||
|
vertices[i] = prev + (nextVertices[i] - prev) * percent;
|
||||||
|
}
|
||||||
|
} else if (setupPose) {
|
||||||
|
let vertexAttachment = slotAttachment as VertexAttachment;
|
||||||
|
if (vertexAttachment.bones == null) {
|
||||||
|
// Unweighted vertex positions, with alpha.
|
||||||
|
let setupVertices = vertexAttachment.vertices;
|
||||||
|
for (let i = 0; i < vertexCount; i++) {
|
||||||
|
let prev = prevVertices[i], setup = setupVertices[i];
|
||||||
|
vertices[i] = setup + (prev + (nextVertices[i] - prev) * percent - setup) * alpha;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Weighted deform offsets, with alpha.
|
||||||
|
for (let i = 0; i < vertexCount; i++) {
|
||||||
|
let prev = prevVertices[i];
|
||||||
|
vertices[i] = (prev + (nextVertices[i] - prev) * percent) * alpha;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Vertex positions or deform offsets, with alpha.
|
||||||
|
for (let i = 0; i < vertexCount; i++) {
|
||||||
|
let prev = prevVertices[i];
|
||||||
|
vertices[i] += (prev + (nextVertices[i] - prev) * percent - vertices[i]) * alpha;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class EventTimeline implements Timeline {
|
export class EventTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>; // time, ...
|
frames: ArrayLike<number>; // time, ...
|
||||||
events: Array<Event>;
|
events: Array<Event>;
|
||||||
@ -585,13 +719,18 @@ module spine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
|
let drawOrder: Array<Slot> = skeleton.drawOrder;
|
||||||
|
let slots: Array<Slot> = skeleton.slots;
|
||||||
if (mixingOut && setupPose) {
|
if (mixingOut && setupPose) {
|
||||||
Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let frame = 0;
|
let frame = 0;
|
||||||
if (time >= frames[frames.length - 1]) // Time is after last frame.
|
if (time >= frames[frames.length - 1]) // Time is after last frame.
|
||||||
@ -599,8 +738,6 @@ module spine {
|
|||||||
else
|
else
|
||||||
frame = Animation.binarySearch(frames, time) - 1;
|
frame = Animation.binarySearch(frames, time) - 1;
|
||||||
|
|
||||||
let drawOrder: Array<Slot> = skeleton.drawOrder;
|
|
||||||
let slots: Array<Slot> = skeleton.slots;
|
|
||||||
let drawOrderToSetupIndex = this.drawOrders[frame];
|
let drawOrderToSetupIndex = this.drawOrders[frame];
|
||||||
if (drawOrderToSetupIndex == null)
|
if (drawOrderToSetupIndex == null)
|
||||||
Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);
|
||||||
@ -611,106 +748,6 @@ module spine {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DeformTimeline extends CurveTimeline {
|
|
||||||
slotIndex: number;
|
|
||||||
attachment: VertexAttachment;
|
|
||||||
frames: ArrayLike<number>; // time, ...
|
|
||||||
frameVertices: Array<ArrayLike<number>>;
|
|
||||||
|
|
||||||
constructor (frameCount: number) {
|
|
||||||
super(frameCount);
|
|
||||||
this.frames = Utils.newFloatArray(frameCount);
|
|
||||||
this.frameVertices = new Array<ArrayLike<number>>(frameCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
getPropertyId () {
|
|
||||||
return (TimelineType.deform << 24) + this.slotIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Sets the time of the specified keyframe. */
|
|
||||||
setFrame (frameIndex: number, time: number, vertices: ArrayLike<number>) {
|
|
||||||
this.frames[frameIndex] = time;
|
|
||||||
this.frameVertices[frameIndex] = vertices;
|
|
||||||
}
|
|
||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
|
||||||
let slot: Slot = skeleton.slots[this.slotIndex];
|
|
||||||
let slotAttachment: Attachment = slot.getAttachment();
|
|
||||||
if (!(slotAttachment instanceof VertexAttachment) || !(<VertexAttachment>slotAttachment).applyDeform(this.attachment)) return;
|
|
||||||
|
|
||||||
let frames = this.frames;
|
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let frameVertices = this.frameVertices;
|
|
||||||
let vertexCount = frameVertices[0].length;
|
|
||||||
|
|
||||||
let verticesArray: Array<number> = slot.attachmentVertices;
|
|
||||||
if (verticesArray.length != vertexCount) alpha = 1; // Don't mix from uninitialized slot vertices.
|
|
||||||
let vertices: Array<number> = Utils.setArraySize(verticesArray, vertexCount);
|
|
||||||
|
|
||||||
if (time >= frames[frames.length - 1]) { // Time is after last frame.
|
|
||||||
let lastVertices = frameVertices[frames.length - 1];
|
|
||||||
if (alpha == 1) {
|
|
||||||
Utils.arrayCopy(lastVertices, 0, vertices, 0, vertexCount);
|
|
||||||
} else if (setupPose) {
|
|
||||||
let vertexAttachment = slotAttachment as VertexAttachment;
|
|
||||||
if (vertexAttachment.bones == null) {
|
|
||||||
// Unweighted vertex positions, with alpha.
|
|
||||||
let setupVertices = vertexAttachment.vertices;
|
|
||||||
for (let i = 0; i < vertexCount; i++) {
|
|
||||||
let setup = setupVertices[i];
|
|
||||||
vertices[i] = setup + (lastVertices[i] - setup) * alpha;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Weighted deform offsets, with alpha.
|
|
||||||
for (let i = 0; i < vertexCount; i++)
|
|
||||||
vertices[i] = lastVertices[i] * alpha;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (let i = 0; i < vertexCount; i++)
|
|
||||||
vertices[i] += (lastVertices[i] - vertices[i]) * alpha;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Interpolate between the previous frame and the current frame.
|
|
||||||
let frame = Animation.binarySearch(frames, time);
|
|
||||||
let prevVertices = frameVertices[frame - 1];
|
|
||||||
let nextVertices = frameVertices[frame];
|
|
||||||
let frameTime = frames[frame];
|
|
||||||
let percent = this.getCurvePercent(frame - 1, 1 - (time - frameTime) / (frames[frame - 1] - frameTime));
|
|
||||||
|
|
||||||
if (alpha == 1) {
|
|
||||||
for (let i = 0; i < vertexCount; i++) {
|
|
||||||
let prev = prevVertices[i];
|
|
||||||
vertices[i] = prev + (nextVertices[i] - prev) * percent;
|
|
||||||
}
|
|
||||||
} else if (setupPose) {
|
|
||||||
let vertexAttachment = slotAttachment as VertexAttachment;
|
|
||||||
if (vertexAttachment.bones == null) {
|
|
||||||
// Unweighted vertex positions, with alpha.
|
|
||||||
let setupVertices = vertexAttachment.vertices;
|
|
||||||
for (let i = 0; i < vertexCount; i++) {
|
|
||||||
let prev = prevVertices[i], setup = setupVertices[i];
|
|
||||||
vertices[i] = setup + (prev + (nextVertices[i] - prev) * percent - setup) * alpha;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Weighted deform offsets, with alpha.
|
|
||||||
for (let i = 0; i < vertexCount; i++) {
|
|
||||||
let prev = prevVertices[i];
|
|
||||||
vertices[i] = (prev + (nextVertices[i] - prev) * percent) * alpha;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Vertex positions or deform offsets, with alpha.
|
|
||||||
for (let i = 0; i < vertexCount; i++) {
|
|
||||||
let prev = prevVertices[i];
|
|
||||||
vertices[i] += (prev + (nextVertices[i] - prev) * percent - vertices[i]) * alpha;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class IkConstraintTimeline extends CurveTimeline {
|
export class IkConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES = 3;
|
static ENTRIES = 3;
|
||||||
static PREV_TIME = -3; static PREV_MIX = -2; static PREV_BEND_DIRECTION = -1;
|
static PREV_TIME = -3; static PREV_MIX = -2; static PREV_BEND_DIRECTION = -1;
|
||||||
@ -738,9 +775,14 @@ module spine {
|
|||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let constraint: IkConstraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
let constraint: IkConstraint = skeleton.ikConstraints[this.ikConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.mix = constraint.data.mix;
|
||||||
|
constraint.bendDirection = constraint.data.bendDirection;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) { // Time is after last frame.
|
if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) { // Time is after last frame.
|
||||||
if (setupPose) {
|
if (setupPose) {
|
||||||
@ -800,9 +842,18 @@ module spine {
|
|||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let constraint: TransformConstraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
let constraint: TransformConstraint = skeleton.transformConstraints[this.transformConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
let data = constraint.data;
|
||||||
|
constraint.rotateMix = data.rotateMix;
|
||||||
|
constraint.translateMix = data.rotateMix;
|
||||||
|
constraint.scaleMix = data.scaleMix;
|
||||||
|
constraint.shearMix = data.shearMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let rotate = 0, translate = 0, scale = 0, shear = 0;
|
let rotate = 0, translate = 0, scale = 0, shear = 0;
|
||||||
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) { // Time is after last frame.
|
if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) { // Time is after last frame.
|
||||||
@ -869,9 +920,11 @@ module spine {
|
|||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let constraint: PathConstraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
let constraint: PathConstraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) constraint.position = constraint.data.position;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let position = 0;
|
let position = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES]) // Time is after last frame.
|
if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES]) // Time is after last frame.
|
||||||
@ -904,9 +957,11 @@ module spine {
|
|||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let constraint: PathConstraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
let constraint: PathConstraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) constraint.spacing = constraint.data.spacing;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let spacing = 0;
|
let spacing = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES]) // Time is after last frame.
|
if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES]) // Time is after last frame.
|
||||||
@ -957,10 +1012,16 @@ module spine {
|
|||||||
|
|
||||||
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
apply (skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, setupPose: boolean, mixingOut: boolean) {
|
||||||
let frames = this.frames;
|
let frames = this.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let constraint: PathConstraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
let constraint: PathConstraint = skeleton.pathConstraints[this.pathConstraintIndex];
|
||||||
|
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) {
|
||||||
|
constraint.rotateMix = constraint.data.rotateMix;
|
||||||
|
constraint.translateMix = constraint.data.translateMix;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let rotate = 0, translate = 0;
|
let rotate = 0, translate = 0;
|
||||||
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) { // Time is after last frame.
|
if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) { // Time is after last frame.
|
||||||
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user