mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
Merged 3.6 into 3.7-beta.
This commit is contained in:
commit
14e9425b91
@ -222,6 +222,7 @@
|
|||||||
* Added `SkeletonClipper` and `Triangulator`, used to implement software clipping of attachments.
|
* Added `SkeletonClipper` and `Triangulator`, used to implement software clipping of attachments.
|
||||||
* `AnimationState#apply` returns boolean indicating if any timeline was applied or not.
|
* `AnimationState#apply` returns boolean indicating if any timeline was applied or not.
|
||||||
* `Animation#apply` and `Timeline#apply`` now take enums `MixPose` and `MixDirection` instead of booleans
|
* `Animation#apply` and `Timeline#apply`` now take enums `MixPose` and `MixDirection` instead of booleans
|
||||||
|
* Added `AssetManager.loadTextureAtlas`. Instead of loading the `.atlas` and corresponding image files manually, you can simply specify the location of the `.atlas` file and AssetManager will load the atlas and all its images automatically. `AssetManager.get("atlasname.atlas")` will then return an instance of `spine.TextureAtlas`.
|
||||||
|
|
||||||
|
|
||||||
### WebGL backend
|
### WebGL backend
|
||||||
|
|||||||
56
spine-ts/build/spine-all.d.ts
vendored
56
spine-ts/build/spine-all.d.ts
vendored
@ -4,19 +4,18 @@ declare module spine {
|
|||||||
timelines: Array<Timeline>;
|
timelines: Array<Timeline>;
|
||||||
duration: number;
|
duration: number;
|
||||||
constructor(name: string, timelines: Array<Timeline>, duration: number);
|
constructor(name: string, timelines: Array<Timeline>, duration: number);
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, loop: boolean, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, loop: boolean, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
static binarySearch(values: ArrayLike<number>, target: number, step?: number): number;
|
static binarySearch(values: ArrayLike<number>, target: number, step?: number): number;
|
||||||
static linearSearch(values: ArrayLike<number>, target: number, step: number): number;
|
static linearSearch(values: ArrayLike<number>, target: number, step: number): number;
|
||||||
}
|
}
|
||||||
interface Timeline {
|
interface Timeline {
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
}
|
}
|
||||||
enum MixBlend {
|
enum MixPose {
|
||||||
setup = 0,
|
setup = 0,
|
||||||
first = 1,
|
current = 1,
|
||||||
replace = 2,
|
currentLayered = 2,
|
||||||
add = 3,
|
|
||||||
}
|
}
|
||||||
enum MixDirection {
|
enum MixDirection {
|
||||||
in = 0,
|
in = 0,
|
||||||
@ -53,7 +52,7 @@ declare module spine {
|
|||||||
getCurveType(frameIndex: number): number;
|
getCurveType(frameIndex: number): number;
|
||||||
setCurve(frameIndex: number, cx1: number, cy1: number, cx2: number, cy2: number): void;
|
setCurve(frameIndex: number, cx1: number, cy1: number, cx2: number, cy2: number): void;
|
||||||
getCurvePercent(frameIndex: number, percent: number): number;
|
getCurvePercent(frameIndex: number, percent: number): number;
|
||||||
abstract apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
abstract apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class RotateTimeline extends CurveTimeline {
|
class RotateTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -65,7 +64,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, degrees: number): void;
|
setFrame(frameIndex: number, time: number, degrees: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class TranslateTimeline extends CurveTimeline {
|
class TranslateTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -79,17 +78,17 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, x: number, y: number): void;
|
setFrame(frameIndex: number, time: number, x: number, y: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class ScaleTimeline extends TranslateTimeline {
|
class ScaleTimeline extends TranslateTimeline {
|
||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class ShearTimeline extends TranslateTimeline {
|
class ShearTimeline extends TranslateTimeline {
|
||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class ColorTimeline extends CurveTimeline {
|
class ColorTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -107,7 +106,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number): void;
|
setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class TwoColorTimeline extends CurveTimeline {
|
class TwoColorTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -131,7 +130,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number, r2: number, g2: number, b2: number): void;
|
setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number, r2: number, g2: number, b2: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class AttachmentTimeline implements Timeline {
|
class AttachmentTimeline implements Timeline {
|
||||||
slotIndex: number;
|
slotIndex: number;
|
||||||
@ -141,7 +140,7 @@ declare module spine {
|
|||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
getFrameCount(): number;
|
getFrameCount(): number;
|
||||||
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, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class DeformTimeline extends CurveTimeline {
|
class DeformTimeline extends CurveTimeline {
|
||||||
slotIndex: number;
|
slotIndex: number;
|
||||||
@ -151,7 +150,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class EventTimeline implements Timeline {
|
class EventTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
@ -160,7 +159,7 @@ declare module spine {
|
|||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
getFrameCount(): number;
|
getFrameCount(): number;
|
||||||
setFrame(frameIndex: number, event: Event): void;
|
setFrame(frameIndex: number, event: Event): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class DrawOrderTimeline implements Timeline {
|
class DrawOrderTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
@ -169,7 +168,7 @@ declare module spine {
|
|||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
getFrameCount(): number;
|
getFrameCount(): number;
|
||||||
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, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class IkConstraintTimeline extends CurveTimeline {
|
class IkConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -183,7 +182,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, mix: number, bendDirection: number): void;
|
setFrame(frameIndex: number, time: number, mix: number, bendDirection: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class TransformConstraintTimeline extends CurveTimeline {
|
class TransformConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -201,7 +200,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number, scaleMix: number, shearMix: number): void;
|
setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number, scaleMix: number, shearMix: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class PathConstraintPositionTimeline extends CurveTimeline {
|
class PathConstraintPositionTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -213,12 +212,12 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, value: number): void;
|
setFrame(frameIndex: number, time: number, value: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class PathConstraintSpacingTimeline extends PathConstraintPositionTimeline {
|
class PathConstraintSpacingTimeline extends PathConstraintPositionTimeline {
|
||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class PathConstraintMixTimeline extends CurveTimeline {
|
class PathConstraintMixTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -232,7 +231,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number): void;
|
setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
declare module spine {
|
declare module spine {
|
||||||
@ -256,8 +255,8 @@ declare module spine {
|
|||||||
update(delta: number): void;
|
update(delta: number): void;
|
||||||
updateMixingFrom(to: TrackEntry, delta: number): boolean;
|
updateMixingFrom(to: TrackEntry, delta: number): boolean;
|
||||||
apply(skeleton: Skeleton): boolean;
|
apply(skeleton: Skeleton): boolean;
|
||||||
applyMixingFrom(to: TrackEntry, skeleton: Skeleton, blend: MixBlend): number;
|
applyMixingFrom(to: TrackEntry, skeleton: Skeleton, currentPose: MixPose): number;
|
||||||
applyRotateTimeline(timeline: Timeline, skeleton: Skeleton, time: number, alpha: number, blend: MixBlend, timelinesRotation: Array<number>, i: number, firstFrame: boolean): void;
|
applyRotateTimeline(timeline: Timeline, skeleton: Skeleton, time: number, alpha: number, pose: MixPose, timelinesRotation: Array<number>, i: number, firstFrame: boolean): void;
|
||||||
queueEvents(entry: TrackEntry, animationTime: number): void;
|
queueEvents(entry: TrackEntry, animationTime: number): void;
|
||||||
clearTracks(): void;
|
clearTracks(): void;
|
||||||
clearTrack(trackIndex: number): void;
|
clearTrack(trackIndex: number): void;
|
||||||
@ -304,7 +303,6 @@ declare module spine {
|
|||||||
mixDuration: number;
|
mixDuration: number;
|
||||||
interruptAlpha: number;
|
interruptAlpha: number;
|
||||||
totalAlpha: number;
|
totalAlpha: number;
|
||||||
mixBlend: MixBlend;
|
|
||||||
timelineData: number[];
|
timelineData: number[];
|
||||||
timelineDipMix: TrackEntry[];
|
timelineDipMix: TrackEntry[];
|
||||||
timelinesRotation: number[];
|
timelinesRotation: number[];
|
||||||
@ -375,9 +373,12 @@ declare module spine {
|
|||||||
private toLoad;
|
private toLoad;
|
||||||
private loaded;
|
private loaded;
|
||||||
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
||||||
|
private static downloadText(url, success, error);
|
||||||
|
private static downloadBinary(url, success, error);
|
||||||
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
|
loadTextureAtlas(path: string, success?: (path: string, atlas: TextureAtlas) => void, error?: (path: string, error: string) => void): void;
|
||||||
get(path: string): any;
|
get(path: string): any;
|
||||||
remove(path: string): void;
|
remove(path: string): void;
|
||||||
removeAll(): void;
|
removeAll(): void;
|
||||||
@ -829,6 +830,11 @@ declare module spine {
|
|||||||
originalWidth: number;
|
originalWidth: number;
|
||||||
originalHeight: number;
|
originalHeight: number;
|
||||||
}
|
}
|
||||||
|
class FakeTexture extends spine.Texture {
|
||||||
|
setFilters(minFilter: spine.TextureFilter, magFilter: spine.TextureFilter): void;
|
||||||
|
setWraps(uWrap: spine.TextureWrap, vWrap: spine.TextureWrap): void;
|
||||||
|
dispose(): void;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
declare module spine {
|
declare module spine {
|
||||||
class TextureAtlas implements Disposable {
|
class TextureAtlas implements Disposable {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
56
spine-ts/build/spine-canvas.d.ts
vendored
56
spine-ts/build/spine-canvas.d.ts
vendored
@ -4,19 +4,18 @@ declare module spine {
|
|||||||
timelines: Array<Timeline>;
|
timelines: Array<Timeline>;
|
||||||
duration: number;
|
duration: number;
|
||||||
constructor(name: string, timelines: Array<Timeline>, duration: number);
|
constructor(name: string, timelines: Array<Timeline>, duration: number);
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, loop: boolean, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, loop: boolean, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
static binarySearch(values: ArrayLike<number>, target: number, step?: number): number;
|
static binarySearch(values: ArrayLike<number>, target: number, step?: number): number;
|
||||||
static linearSearch(values: ArrayLike<number>, target: number, step: number): number;
|
static linearSearch(values: ArrayLike<number>, target: number, step: number): number;
|
||||||
}
|
}
|
||||||
interface Timeline {
|
interface Timeline {
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
}
|
}
|
||||||
enum MixBlend {
|
enum MixPose {
|
||||||
setup = 0,
|
setup = 0,
|
||||||
first = 1,
|
current = 1,
|
||||||
replace = 2,
|
currentLayered = 2,
|
||||||
add = 3,
|
|
||||||
}
|
}
|
||||||
enum MixDirection {
|
enum MixDirection {
|
||||||
in = 0,
|
in = 0,
|
||||||
@ -53,7 +52,7 @@ declare module spine {
|
|||||||
getCurveType(frameIndex: number): number;
|
getCurveType(frameIndex: number): number;
|
||||||
setCurve(frameIndex: number, cx1: number, cy1: number, cx2: number, cy2: number): void;
|
setCurve(frameIndex: number, cx1: number, cy1: number, cx2: number, cy2: number): void;
|
||||||
getCurvePercent(frameIndex: number, percent: number): number;
|
getCurvePercent(frameIndex: number, percent: number): number;
|
||||||
abstract apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
abstract apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class RotateTimeline extends CurveTimeline {
|
class RotateTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -65,7 +64,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, degrees: number): void;
|
setFrame(frameIndex: number, time: number, degrees: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class TranslateTimeline extends CurveTimeline {
|
class TranslateTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -79,17 +78,17 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, x: number, y: number): void;
|
setFrame(frameIndex: number, time: number, x: number, y: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class ScaleTimeline extends TranslateTimeline {
|
class ScaleTimeline extends TranslateTimeline {
|
||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class ShearTimeline extends TranslateTimeline {
|
class ShearTimeline extends TranslateTimeline {
|
||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class ColorTimeline extends CurveTimeline {
|
class ColorTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -107,7 +106,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number): void;
|
setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class TwoColorTimeline extends CurveTimeline {
|
class TwoColorTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -131,7 +130,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number, r2: number, g2: number, b2: number): void;
|
setFrame(frameIndex: number, time: number, r: number, g: number, b: number, a: number, r2: number, g2: number, b2: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class AttachmentTimeline implements Timeline {
|
class AttachmentTimeline implements Timeline {
|
||||||
slotIndex: number;
|
slotIndex: number;
|
||||||
@ -141,7 +140,7 @@ declare module spine {
|
|||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
getFrameCount(): number;
|
getFrameCount(): number;
|
||||||
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, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, events: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class DeformTimeline extends CurveTimeline {
|
class DeformTimeline extends CurveTimeline {
|
||||||
slotIndex: number;
|
slotIndex: number;
|
||||||
@ -151,7 +150,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
setFrame(frameIndex: number, time: number, vertices: ArrayLike<number>): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class EventTimeline implements Timeline {
|
class EventTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
@ -160,7 +159,7 @@ declare module spine {
|
|||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
getFrameCount(): number;
|
getFrameCount(): number;
|
||||||
setFrame(frameIndex: number, event: Event): void;
|
setFrame(frameIndex: number, event: Event): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class DrawOrderTimeline implements Timeline {
|
class DrawOrderTimeline implements Timeline {
|
||||||
frames: ArrayLike<number>;
|
frames: ArrayLike<number>;
|
||||||
@ -169,7 +168,7 @@ declare module spine {
|
|||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
getFrameCount(): number;
|
getFrameCount(): number;
|
||||||
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, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class IkConstraintTimeline extends CurveTimeline {
|
class IkConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -183,7 +182,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, mix: number, bendDirection: number): void;
|
setFrame(frameIndex: number, time: number, mix: number, bendDirection: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class TransformConstraintTimeline extends CurveTimeline {
|
class TransformConstraintTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -201,7 +200,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number, scaleMix: number, shearMix: number): void;
|
setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number, scaleMix: number, shearMix: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class PathConstraintPositionTimeline extends CurveTimeline {
|
class PathConstraintPositionTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -213,12 +212,12 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, value: number): void;
|
setFrame(frameIndex: number, time: number, value: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class PathConstraintSpacingTimeline extends PathConstraintPositionTimeline {
|
class PathConstraintSpacingTimeline extends PathConstraintPositionTimeline {
|
||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
class PathConstraintMixTimeline extends CurveTimeline {
|
class PathConstraintMixTimeline extends CurveTimeline {
|
||||||
static ENTRIES: number;
|
static ENTRIES: number;
|
||||||
@ -232,7 +231,7 @@ declare module spine {
|
|||||||
constructor(frameCount: number);
|
constructor(frameCount: number);
|
||||||
getPropertyId(): number;
|
getPropertyId(): number;
|
||||||
setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number): void;
|
setFrame(frameIndex: number, time: number, rotateMix: number, translateMix: number): void;
|
||||||
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, blend: MixBlend, direction: MixDirection): void;
|
apply(skeleton: Skeleton, lastTime: number, time: number, firedEvents: Array<Event>, alpha: number, pose: MixPose, direction: MixDirection): void;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
declare module spine {
|
declare module spine {
|
||||||
@ -256,8 +255,8 @@ declare module spine {
|
|||||||
update(delta: number): void;
|
update(delta: number): void;
|
||||||
updateMixingFrom(to: TrackEntry, delta: number): boolean;
|
updateMixingFrom(to: TrackEntry, delta: number): boolean;
|
||||||
apply(skeleton: Skeleton): boolean;
|
apply(skeleton: Skeleton): boolean;
|
||||||
applyMixingFrom(to: TrackEntry, skeleton: Skeleton, blend: MixBlend): number;
|
applyMixingFrom(to: TrackEntry, skeleton: Skeleton, currentPose: MixPose): number;
|
||||||
applyRotateTimeline(timeline: Timeline, skeleton: Skeleton, time: number, alpha: number, blend: MixBlend, timelinesRotation: Array<number>, i: number, firstFrame: boolean): void;
|
applyRotateTimeline(timeline: Timeline, skeleton: Skeleton, time: number, alpha: number, pose: MixPose, timelinesRotation: Array<number>, i: number, firstFrame: boolean): void;
|
||||||
queueEvents(entry: TrackEntry, animationTime: number): void;
|
queueEvents(entry: TrackEntry, animationTime: number): void;
|
||||||
clearTracks(): void;
|
clearTracks(): void;
|
||||||
clearTrack(trackIndex: number): void;
|
clearTrack(trackIndex: number): void;
|
||||||
@ -304,7 +303,6 @@ declare module spine {
|
|||||||
mixDuration: number;
|
mixDuration: number;
|
||||||
interruptAlpha: number;
|
interruptAlpha: number;
|
||||||
totalAlpha: number;
|
totalAlpha: number;
|
||||||
mixBlend: MixBlend;
|
|
||||||
timelineData: number[];
|
timelineData: number[];
|
||||||
timelineDipMix: TrackEntry[];
|
timelineDipMix: TrackEntry[];
|
||||||
timelinesRotation: number[];
|
timelinesRotation: number[];
|
||||||
@ -375,9 +373,12 @@ declare module spine {
|
|||||||
private toLoad;
|
private toLoad;
|
||||||
private loaded;
|
private loaded;
|
||||||
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
||||||
|
private static downloadText(url, success, error);
|
||||||
|
private static downloadBinary(url, success, error);
|
||||||
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
|
loadTextureAtlas(path: string, success?: (path: string, atlas: TextureAtlas) => void, error?: (path: string, error: string) => void): void;
|
||||||
get(path: string): any;
|
get(path: string): any;
|
||||||
remove(path: string): void;
|
remove(path: string): void;
|
||||||
removeAll(): void;
|
removeAll(): void;
|
||||||
@ -829,6 +830,11 @@ declare module spine {
|
|||||||
originalWidth: number;
|
originalWidth: number;
|
||||||
originalHeight: number;
|
originalHeight: number;
|
||||||
}
|
}
|
||||||
|
class FakeTexture extends spine.Texture {
|
||||||
|
setFilters(minFilter: spine.TextureFilter, magFilter: spine.TextureFilter): void;
|
||||||
|
setWraps(uWrap: spine.TextureWrap, vWrap: spine.TextureWrap): void;
|
||||||
|
dispose(): void;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
declare module spine {
|
declare module spine {
|
||||||
class TextureAtlas implements Disposable {
|
class TextureAtlas implements Disposable {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
8
spine-ts/build/spine-core.d.ts
vendored
8
spine-ts/build/spine-core.d.ts
vendored
@ -375,9 +375,12 @@ declare module spine {
|
|||||||
private toLoad;
|
private toLoad;
|
||||||
private loaded;
|
private loaded;
|
||||||
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
||||||
|
private static downloadText(url, success, error);
|
||||||
|
private static downloadBinary(url, success, error);
|
||||||
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
|
loadTextureAtlas(path: string, success?: (path: string, atlas: TextureAtlas) => void, error?: (path: string, error: string) => void): void;
|
||||||
get(path: string): any;
|
get(path: string): any;
|
||||||
remove(path: string): void;
|
remove(path: string): void;
|
||||||
removeAll(): void;
|
removeAll(): void;
|
||||||
@ -829,6 +832,11 @@ declare module spine {
|
|||||||
originalWidth: number;
|
originalWidth: number;
|
||||||
originalHeight: number;
|
originalHeight: number;
|
||||||
}
|
}
|
||||||
|
class FakeTexture extends spine.Texture {
|
||||||
|
setFilters(minFilter: spine.TextureFilter, magFilter: spine.TextureFilter): void;
|
||||||
|
setWraps(uWrap: spine.TextureWrap, vWrap: spine.TextureWrap): void;
|
||||||
|
dispose(): void;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
declare module spine {
|
declare module spine {
|
||||||
class TextureAtlas implements Disposable {
|
class TextureAtlas implements Disposable {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
8
spine-ts/build/spine-threejs.d.ts
vendored
8
spine-ts/build/spine-threejs.d.ts
vendored
@ -375,9 +375,12 @@ declare module spine {
|
|||||||
private toLoad;
|
private toLoad;
|
||||||
private loaded;
|
private loaded;
|
||||||
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
||||||
|
private static downloadText(url, success, error);
|
||||||
|
private static downloadBinary(url, success, error);
|
||||||
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
|
loadTextureAtlas(path: string, success?: (path: string, atlas: TextureAtlas) => void, error?: (path: string, error: string) => void): void;
|
||||||
get(path: string): any;
|
get(path: string): any;
|
||||||
remove(path: string): void;
|
remove(path: string): void;
|
||||||
removeAll(): void;
|
removeAll(): void;
|
||||||
@ -829,6 +832,11 @@ declare module spine {
|
|||||||
originalWidth: number;
|
originalWidth: number;
|
||||||
originalHeight: number;
|
originalHeight: number;
|
||||||
}
|
}
|
||||||
|
class FakeTexture extends spine.Texture {
|
||||||
|
setFilters(minFilter: spine.TextureFilter, magFilter: spine.TextureFilter): void;
|
||||||
|
setWraps(uWrap: spine.TextureWrap, vWrap: spine.TextureWrap): void;
|
||||||
|
dispose(): void;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
declare module spine {
|
declare module spine {
|
||||||
class TextureAtlas implements Disposable {
|
class TextureAtlas implements Disposable {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
8
spine-ts/build/spine-webgl.d.ts
vendored
8
spine-ts/build/spine-webgl.d.ts
vendored
@ -375,9 +375,12 @@ declare module spine {
|
|||||||
private toLoad;
|
private toLoad;
|
||||||
private loaded;
|
private loaded;
|
||||||
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
||||||
|
private static downloadText(url, success, error);
|
||||||
|
private static downloadBinary(url, success, error);
|
||||||
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
|
loadTextureAtlas(path: string, success?: (path: string, atlas: TextureAtlas) => void, error?: (path: string, error: string) => void): void;
|
||||||
get(path: string): any;
|
get(path: string): any;
|
||||||
remove(path: string): void;
|
remove(path: string): void;
|
||||||
removeAll(): void;
|
removeAll(): void;
|
||||||
@ -829,6 +832,11 @@ declare module spine {
|
|||||||
originalWidth: number;
|
originalWidth: number;
|
||||||
originalHeight: number;
|
originalHeight: number;
|
||||||
}
|
}
|
||||||
|
class FakeTexture extends spine.Texture {
|
||||||
|
setFilters(minFilter: spine.TextureFilter, magFilter: spine.TextureFilter): void;
|
||||||
|
setWraps(uWrap: spine.TextureWrap, vWrap: spine.TextureWrap): void;
|
||||||
|
dispose(): void;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
declare module spine {
|
declare module spine {
|
||||||
class TextureAtlas implements Disposable {
|
class TextureAtlas implements Disposable {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
8
spine-ts/build/spine-widget.d.ts
vendored
8
spine-ts/build/spine-widget.d.ts
vendored
@ -375,9 +375,12 @@ declare module spine {
|
|||||||
private toLoad;
|
private toLoad;
|
||||||
private loaded;
|
private loaded;
|
||||||
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
|
||||||
|
private static downloadText(url, success, error);
|
||||||
|
private static downloadBinary(url, success, error);
|
||||||
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
|
||||||
|
loadTextureAtlas(path: string, success?: (path: string, atlas: TextureAtlas) => void, error?: (path: string, error: string) => void): void;
|
||||||
get(path: string): any;
|
get(path: string): any;
|
||||||
remove(path: string): void;
|
remove(path: string): void;
|
||||||
removeAll(): void;
|
removeAll(): void;
|
||||||
@ -829,6 +832,11 @@ declare module spine {
|
|||||||
originalWidth: number;
|
originalWidth: number;
|
||||||
originalHeight: number;
|
originalHeight: number;
|
||||||
}
|
}
|
||||||
|
class FakeTexture extends spine.Texture {
|
||||||
|
setFilters(minFilter: spine.TextureFilter, magFilter: spine.TextureFilter): void;
|
||||||
|
setWraps(uWrap: spine.TextureWrap, vWrap: spine.TextureWrap): void;
|
||||||
|
dispose(): void;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
declare module spine {
|
declare module spine {
|
||||||
class TextureAtlas implements Disposable {
|
class TextureAtlas implements Disposable {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -42,34 +42,61 @@ module spine {
|
|||||||
this.pathPrefix = pathPrefix;
|
this.pathPrefix = pathPrefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static downloadText (url: string, success: (data: string) => void, error: (status: number, responseText: string) => void) {
|
||||||
|
let request = new XMLHttpRequest();
|
||||||
|
request.open("GET", url, true);
|
||||||
|
request.onload = () => {
|
||||||
|
if (request.status == 200) {
|
||||||
|
success(request.responseText);
|
||||||
|
} else {
|
||||||
|
error(request.status, request.responseText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
request.onerror = () => {
|
||||||
|
error(request.status, request.responseText);
|
||||||
|
}
|
||||||
|
request.send();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static downloadBinary (url: string, success: (data: Uint8Array) => void, error: (status: number, responseText: string) => void) {
|
||||||
|
let request = new XMLHttpRequest();
|
||||||
|
request.open("GET", url, true);
|
||||||
|
request.responseType = "arraybuffer";
|
||||||
|
request.onload = () => {
|
||||||
|
if (request.status == 200) {
|
||||||
|
success(new Uint8Array(request.response as ArrayBuffer));
|
||||||
|
} else {
|
||||||
|
error(request.status, request.responseText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
request.onerror = () => {
|
||||||
|
error(request.status, request.responseText);
|
||||||
|
}
|
||||||
|
request.send();
|
||||||
|
}
|
||||||
|
|
||||||
loadText(path: string,
|
loadText(path: string,
|
||||||
success: (path: string, text: string) => void = null,
|
success: (path: string, text: string) => void = null,
|
||||||
error: (path: string, error: string) => void = null
|
error: (path: string, error: string) => void = null) {
|
||||||
) {
|
|
||||||
path = this.pathPrefix + path;
|
path = this.pathPrefix + path;
|
||||||
this.toLoad++;
|
this.toLoad++;
|
||||||
let request = new XMLHttpRequest();
|
|
||||||
request.onreadystatechange = () => {
|
AssetManager.downloadText(path, (data: string): void => {
|
||||||
if (request.readyState == XMLHttpRequest.DONE) {
|
this.assets[path] = data;
|
||||||
if (request.status >= 200 && request.status < 300) {
|
if (success) success(path, data);
|
||||||
this.assets[path] = request.responseText;
|
this.toLoad--;
|
||||||
if (success) success(path, request.responseText);
|
this.loaded++;
|
||||||
} else {
|
}, (state: number, responseText: string): void => {
|
||||||
this.errors[path] = `Couldn't load text ${path}: status ${request.status}, ${request.responseText}`;
|
this.errors[path] = `Couldn't load text ${path}: status ${status}, ${responseText}`;
|
||||||
if (error) error(path, `Couldn't load text ${path}: status ${request.status}, ${request.responseText}`);
|
if (error) error(path, `Couldn't load text ${path}: status ${status}, ${responseText}`);
|
||||||
}
|
this.toLoad--;
|
||||||
this.toLoad--;
|
this.loaded++;
|
||||||
this.loaded++;
|
});
|
||||||
}
|
|
||||||
};
|
|
||||||
request.open("GET", path, true);
|
|
||||||
request.send();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
loadTexture (path: string,
|
loadTexture (path: string,
|
||||||
success: (path: string, image: HTMLImageElement) => void = null,
|
success: (path: string, image: HTMLImageElement) => void = null,
|
||||||
error: (path: string, error: string) => void = null
|
error: (path: string, error: string) => void = null) {
|
||||||
) {
|
|
||||||
path = this.pathPrefix + path;
|
path = this.pathPrefix + path;
|
||||||
this.toLoad++;
|
this.toLoad++;
|
||||||
let img = new Image();
|
let img = new Image();
|
||||||
@ -92,8 +119,7 @@ module spine {
|
|||||||
|
|
||||||
loadTextureData(path: string, data: string,
|
loadTextureData(path: string, data: string,
|
||||||
success: (path: string, image: HTMLImageElement) => void = null,
|
success: (path: string, image: HTMLImageElement) => void = null,
|
||||||
error: (path: string, error: string) => void = null
|
error: (path: string, error: string) => void = null) {
|
||||||
) {
|
|
||||||
path = this.pathPrefix + path;
|
path = this.pathPrefix + path;
|
||||||
this.toLoad++;
|
this.toLoad++;
|
||||||
let img = new Image();
|
let img = new Image();
|
||||||
@ -113,6 +139,82 @@ module spine {
|
|||||||
img.src = data;
|
img.src = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
loadTextureAtlas (path: string,
|
||||||
|
success: (path: string, atlas: TextureAtlas) => void = null,
|
||||||
|
error: (path: string, error: string) => void = null) {
|
||||||
|
let parent = path.lastIndexOf("/") >= 0 ? path.substring(0, path.lastIndexOf("/")) : "";
|
||||||
|
path = this.pathPrefix + path;
|
||||||
|
this.toLoad++;
|
||||||
|
|
||||||
|
AssetManager.downloadText(path, (atlasData: string): void => {
|
||||||
|
var atlasPages = new Array<string>();
|
||||||
|
try {
|
||||||
|
let atlas = new spine.TextureAtlas(atlasData, (path: string) => {
|
||||||
|
atlasPages.push(parent + "/" + path);
|
||||||
|
let image = document.createElement("img") as HTMLImageElement;
|
||||||
|
image.width = 16;
|
||||||
|
image.height = 16;
|
||||||
|
return new spine.FakeTexture(image);
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
let ex = e as Error;
|
||||||
|
this.errors[path] = `Couldn't load texture atlas ${path}: ${ex.message}`;
|
||||||
|
if (error) error(path, `Couldn't load texture atlas ${path}: ${ex.message}`);
|
||||||
|
this.toLoad--;
|
||||||
|
this.loaded++;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let atlasPage of atlasPages) {
|
||||||
|
let pagesLoaded = 0;
|
||||||
|
let pageLoadError = false;
|
||||||
|
this.loadTexture(atlasPage, (imagePath: string, image: HTMLImageElement) => {
|
||||||
|
pagesLoaded++;
|
||||||
|
|
||||||
|
if (pagesLoaded == atlasPages.length) {
|
||||||
|
if (!pageLoadError) {
|
||||||
|
try {
|
||||||
|
let atlas = new spine.TextureAtlas(atlasData, (path: string) => {
|
||||||
|
return this.get(parent + "/" + path);
|
||||||
|
});
|
||||||
|
this.assets[path] = atlas;
|
||||||
|
if (success) success(path, atlas);
|
||||||
|
this.toLoad--;
|
||||||
|
this.loaded++;
|
||||||
|
} catch (e) {
|
||||||
|
let ex = e as Error;
|
||||||
|
this.errors[path] = `Couldn't load texture atlas ${path}: ${ex.message}`;
|
||||||
|
if (error) error(path, `Couldn't load texture atlas ${path}: ${ex.message}`);
|
||||||
|
this.toLoad--;
|
||||||
|
this.loaded++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.errors[path] = `Couldn't load texture atlas page ${imagePath}} of atlas ${path}`;
|
||||||
|
if (error) error(path, `Couldn't load texture atlas page ${imagePath} of atlas ${path}`);
|
||||||
|
this.toLoad--;
|
||||||
|
this.loaded++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, (imagePath: string, errorMessage: string) => {
|
||||||
|
pageLoadError = true;
|
||||||
|
pagesLoaded++;
|
||||||
|
|
||||||
|
if (pagesLoaded == atlasPages.length) {
|
||||||
|
this.errors[path] = `Couldn't load texture atlas page ${imagePath}} of atlas ${path}`;
|
||||||
|
if (error) error(path, `Couldn't load texture atlas page ${imagePath} of atlas ${path}`);
|
||||||
|
this.toLoad--;
|
||||||
|
this.loaded++;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, (state: number, responseText: string): void => {
|
||||||
|
this.errors[path] = `Couldn't load texture atlas ${path}: status ${status}, ${responseText}`;
|
||||||
|
if (error) error(path, `Couldn't load texture atlas ${path}: status ${status}, ${responseText}`);
|
||||||
|
this.toLoad--;
|
||||||
|
this.loaded++;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
get (path: string) {
|
get (path: string) {
|
||||||
path = this.pathPrefix + path;
|
path = this.pathPrefix + path;
|
||||||
return this.assets[path];
|
return this.assets[path];
|
||||||
|
|||||||
@ -92,4 +92,10 @@ module spine {
|
|||||||
offsetX = 0; offsetY = 0;
|
offsetX = 0; offsetY = 0;
|
||||||
originalWidth = 0; originalHeight = 0;
|
originalWidth = 0; originalHeight = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class FakeTexture extends spine.Texture {
|
||||||
|
setFilters(minFilter: spine.TextureFilter, magFilter: spine.TextureFilter) { }
|
||||||
|
setWraps(uWrap: spine.TextureWrap, vWrap: spine.TextureWrap) { }
|
||||||
|
dispose() { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,26 +67,19 @@ function init () {
|
|||||||
// Tell AssetManager to load the resources for each model, including the exported .json file, the .atlas file and the .png
|
// Tell AssetManager to load the resources for each model, including the exported .json file, the .atlas file and the .png
|
||||||
// file for the atlas. We then wait until all resources are loaded in the load() method.
|
// file for the atlas. We then wait until all resources are loaded in the load() method.
|
||||||
assetManager.loadText("assets/spineboy-ess.json");
|
assetManager.loadText("assets/spineboy-ess.json");
|
||||||
assetManager.loadText("assets/spineboy.atlas");
|
assetManager.loadTextureAtlas("assets/spineboy.atlas");
|
||||||
assetManager.loadTexture("assets/spineboy.png");
|
|
||||||
assetManager.loadText("assets/raptor-pro.json");
|
assetManager.loadText("assets/raptor-pro.json");
|
||||||
assetManager.loadText("assets/raptor.atlas");
|
assetManager.loadTextureAtlas("assets/raptor.atlas");
|
||||||
assetManager.loadTexture("assets/raptor.png");
|
|
||||||
assetManager.loadText("assets/tank-pro.json");
|
assetManager.loadText("assets/tank-pro.json");
|
||||||
assetManager.loadText("assets/tank.atlas");
|
assetManager.loadTextureAtlas("assets/tank.atlas");
|
||||||
assetManager.loadTexture("assets/tank.png");
|
|
||||||
assetManager.loadText("assets/goblins-pro.json");
|
assetManager.loadText("assets/goblins-pro.json");
|
||||||
assetManager.loadText("assets/goblins.atlas");
|
assetManager.loadTextureAtlas("assets/goblins.atlas");
|
||||||
assetManager.loadTexture("assets/goblins.png");
|
|
||||||
assetManager.loadText("assets/vine-pro.json");
|
assetManager.loadText("assets/vine-pro.json");
|
||||||
assetManager.loadText("assets/vine.atlas");
|
assetManager.loadTextureAtlas("assets/vine.atlas");
|
||||||
assetManager.loadTexture("assets/vine.png");
|
|
||||||
assetManager.loadText("assets/stretchyman-pro.json");
|
assetManager.loadText("assets/stretchyman-pro.json");
|
||||||
assetManager.loadText("assets/stretchyman.atlas");
|
assetManager.loadTextureAtlas("assets/stretchyman.atlas");
|
||||||
assetManager.loadTexture("assets/stretchyman.png");
|
|
||||||
assetManager.loadText("assets/coin-pro.json");
|
assetManager.loadText("assets/coin-pro.json");
|
||||||
assetManager.loadText("assets/coin.atlas");
|
assetManager.loadTextureAtlas("assets/coin.atlas");
|
||||||
assetManager.loadTexture("assets/coin.png");
|
|
||||||
requestAnimationFrame(load);
|
requestAnimationFrame(load);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,11 +103,8 @@ function load () {
|
|||||||
function loadSkeleton (name, initialAnimation, premultipliedAlpha, skin) {
|
function loadSkeleton (name, initialAnimation, premultipliedAlpha, skin) {
|
||||||
if (skin === undefined) skin = "default";
|
if (skin === undefined) skin = "default";
|
||||||
|
|
||||||
// Load the texture atlas using name.atlas and name.png from the AssetManager.
|
// Load the texture atlas using name.atlas from the AssetManager.
|
||||||
// The function passed to TextureAtlas is used to resolve relative paths.
|
atlas = assetManager.get("assets/" + name.replace("-ess", "").replace("-pro", "") + ".atlas");
|
||||||
atlas = new spine.TextureAtlas(assetManager.get("assets/" + name.replace("-ess", "").replace("-pro", "") + ".atlas"), function(path) {
|
|
||||||
return assetManager.get("assets/" + path);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Create a AtlasAttachmentLoader that resolves region, mesh, boundingbox and path attachments
|
// Create a AtlasAttachmentLoader that resolves region, mesh, boundingbox and path attachments
|
||||||
atlasLoader = new spine.AtlasAttachmentLoader(atlas);
|
atlasLoader = new spine.AtlasAttachmentLoader(atlas);
|
||||||
|
|||||||
67
spine-ts/webgl/tests/test-atlas-loading.html
Normal file
67
spine-ts/webgl/tests/test-atlas-loading.html
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<script src="../../build/spine-webgl.js"></script>
|
||||||
|
<canvas width="640" height="480"></canvas>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
var canvas = document.getElementsByTagName("canvas")[0];
|
||||||
|
canvas.width = canvas.clientWidth; canvas.height = canvas.clientHeight;
|
||||||
|
var context = new spine.webgl.ManagedWebGLRenderingContext(canvas);
|
||||||
|
var assetManager = new spine.webgl.AssetManager(context, "https://esotericsoftware.com/sketch/files/4772/");
|
||||||
|
var renderer = new spine.webgl.SceneRenderer(canvas, context);
|
||||||
|
var time = new spine.TimeKeeper();
|
||||||
|
var loadingScreen = new spine.webgl.LoadingScreen(new spine.webgl.SceneRenderer(canvas, context));
|
||||||
|
|
||||||
|
var skeleton = null;
|
||||||
|
var animationState = null;
|
||||||
|
|
||||||
|
assetManager.loadText("Spineboy/spineboy-pro.json");
|
||||||
|
assetManager.loadTextureAtlas("Spineboy/spineboy-pro.atlas");
|
||||||
|
|
||||||
|
requestAnimationFrame(load);
|
||||||
|
|
||||||
|
function load () {
|
||||||
|
if (assetManager.isLoadingComplete()) {
|
||||||
|
var atlas = assetManager.get("Spineboy/spineboy-pro.atlas");
|
||||||
|
var skeletonJson = new spine.SkeletonJson(new spine.AtlasAttachmentLoader(atlas));
|
||||||
|
var skeletonData = skeletonJson.readSkeletonData(assetManager.get("Spineboy/spineboy-pro.json"));
|
||||||
|
var animationStateData = new spine.AnimationStateData(skeletonData);
|
||||||
|
|
||||||
|
skeleton = new spine.Skeleton(skeletonData);
|
||||||
|
animationState = new spine.AnimationState(animationStateData);
|
||||||
|
var offset = new spine.Vector2();
|
||||||
|
var size = new spine.Vector2();
|
||||||
|
skeleton.updateWorldTransform();
|
||||||
|
skeleton.getBounds(offset, size, []);
|
||||||
|
renderer.camera.position.x = offset.x + size.x / 2;
|
||||||
|
renderer.camera.position.y = offset.y + size.y / 2;
|
||||||
|
renderer.camera.zoom = size.x > size.y ? size.x / canvas.width : size.y / canvas.height;
|
||||||
|
|
||||||
|
animationState.setAnimation(0, "walk", true);
|
||||||
|
|
||||||
|
requestAnimationFrame(render);
|
||||||
|
} else {
|
||||||
|
loadingScreen.draw(false);
|
||||||
|
requestAnimationFrame(load);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function render () {
|
||||||
|
context.gl.clearColor(0.9, 0.9, 0.9, 1);
|
||||||
|
context.gl.clear(context.gl.COLOR_BUFFER_BIT);
|
||||||
|
|
||||||
|
time.update();
|
||||||
|
animationState.update(time.delta);
|
||||||
|
animationState.apply(skeleton);
|
||||||
|
skeleton.updateWorldTransform();
|
||||||
|
|
||||||
|
renderer.begin();
|
||||||
|
renderer.drawSkeleton(skeleton, true);
|
||||||
|
renderer.end();
|
||||||
|
|
||||||
|
loadingScreen.draw(true);
|
||||||
|
|
||||||
|
requestAnimationFrame(render);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</html>
|
||||||
@ -46,11 +46,9 @@ function init() {
|
|||||||
swirlEffect.radius = 500;
|
swirlEffect.radius = 500;
|
||||||
|
|
||||||
assetManager = new spine.webgl.AssetManager(context, "../example/assets/");
|
assetManager = new spine.webgl.AssetManager(context, "../example/assets/");
|
||||||
var textureLoader = function(img) { return new spine.webgl.GLTexture(gl, img); };
|
|
||||||
input = new spine.webgl.Input(canvas);
|
input = new spine.webgl.Input(canvas);
|
||||||
|
|
||||||
assetManager.loadTexture(FILE.replace("-pro", "").replace("-oss", "") + ".png");
|
assetManager.loadTextureAtlas(FILE.replace("-pro", "").replace("-oss", "") + ".atlas");
|
||||||
assetManager.loadText(FILE.replace("-pro", "").replace("-oss", "") + ".atlas");
|
|
||||||
assetManager.loadText(FILE + ".json");
|
assetManager.loadText(FILE + ".json");
|
||||||
|
|
||||||
timeKeeper = new spine.TimeKeeper();
|
timeKeeper = new spine.TimeKeeper();
|
||||||
@ -60,9 +58,7 @@ function init() {
|
|||||||
function load() {
|
function load() {
|
||||||
timeKeeper.update();
|
timeKeeper.update();
|
||||||
if (assetManager.isLoadingComplete()) {
|
if (assetManager.isLoadingComplete()) {
|
||||||
var atlas = new spine.TextureAtlas(assetManager.get(FILE.replace("-pro", "").replace("-oss", "") + ".atlas"), function(path) {
|
var atlas = assetManager.get(FILE.replace("-pro", "").replace("-oss", "") + ".atlas");
|
||||||
return assetManager.get(path);
|
|
||||||
});
|
|
||||||
var atlasLoader = new spine.AtlasAttachmentLoader(atlas);
|
var atlasLoader = new spine.AtlasAttachmentLoader(atlas);
|
||||||
var skeletonJson = new spine.SkeletonJson(atlasLoader);
|
var skeletonJson = new spine.SkeletonJson(atlasLoader);
|
||||||
skeletonJson.scale = SCALE;
|
skeletonJson.scale = SCALE;
|
||||||
|
|||||||
@ -80,6 +80,7 @@ namespace Spine.Unity.Editor {
|
|||||||
public static Texture2D skeletonUtility;
|
public static Texture2D skeletonUtility;
|
||||||
public static Texture2D hingeChain;
|
public static Texture2D hingeChain;
|
||||||
public static Texture2D subMeshRenderer;
|
public static Texture2D subMeshRenderer;
|
||||||
|
public static Texture2D skeletonDataAssetIcon;
|
||||||
|
|
||||||
public static Texture2D info;
|
public static Texture2D info;
|
||||||
|
|
||||||
@ -126,6 +127,7 @@ namespace Spine.Unity.Editor {
|
|||||||
hingeChain = LoadIcon("icon-hingeChain.png");
|
hingeChain = LoadIcon("icon-hingeChain.png");
|
||||||
subMeshRenderer = LoadIcon("icon-subMeshRenderer.png");
|
subMeshRenderer = LoadIcon("icon-subMeshRenderer.png");
|
||||||
|
|
||||||
|
skeletonDataAssetIcon = LoadIcon("SkeletonDataAsset Icon.png");
|
||||||
|
|
||||||
info = EditorGUIUtility.FindTexture("console.infoicon.sml");
|
info = EditorGUIUtility.FindTexture("console.infoicon.sml");
|
||||||
unity = EditorGUIUtility.FindTexture("SceneAsset Icon");
|
unity = EditorGUIUtility.FindTexture("SceneAsset Icon");
|
||||||
@ -342,7 +344,7 @@ namespace Spine.Unity.Editor {
|
|||||||
static void SceneViewDragAndDrop (SceneView sceneview) {
|
static void SceneViewDragAndDrop (SceneView sceneview) {
|
||||||
var current = UnityEngine.Event.current;
|
var current = UnityEngine.Event.current;
|
||||||
var references = DragAndDrop.objectReferences;
|
var references = DragAndDrop.objectReferences;
|
||||||
if (current.type == EventType.Repaint || current.type == EventType.Layout) return;
|
if (current.type == EventType.Layout) return;
|
||||||
|
|
||||||
// Allow drag and drop of one SkeletonDataAsset.
|
// Allow drag and drop of one SkeletonDataAsset.
|
||||||
if (references.Length == 1) {
|
if (references.Length == 1) {
|
||||||
@ -360,7 +362,7 @@ namespace Spine.Unity.Editor {
|
|||||||
} else {
|
} else {
|
||||||
DragAndDrop.visualMode = DragAndDropVisualMode.Copy;
|
DragAndDrop.visualMode = DragAndDropVisualMode.Copy;
|
||||||
Handles.BeginGUI();
|
Handles.BeginGUI();
|
||||||
GUI.Label(new Rect(mousePos + new Vector2(20f, 20f), new Vector2(400f, 20f)), new GUIContent(string.Format("Create Spine GameObject ({0})", skeletonDataAsset.skeletonJSON.name), SpineEditorUtilities.Icons.spine));
|
GUI.Label(new Rect(mousePos + new Vector2(20f, 20f), new Vector2(400f, 20f)), new GUIContent(string.Format("Create Spine GameObject ({0})", skeletonDataAsset.skeletonJSON.name), SpineEditorUtilities.Icons.skeletonDataAssetIcon));
|
||||||
Handles.EndGUI();
|
Handles.EndGUI();
|
||||||
|
|
||||||
if (current.type == EventType.DragPerform) {
|
if (current.type == EventType.DragPerform) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user