mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 22:34:53 +08:00
Spine events data stores track and animation when triggered.
This commit is contained in:
parent
ed94892283
commit
f5f1f1d297
@ -52,8 +52,8 @@ C3.Plugins.EsotericSoftware_SpineConstruct3.Exps =
|
|||||||
if (field === "volume") return this.triggeredEventData?.volume;
|
if (field === "volume") return this.triggeredEventData?.volume;
|
||||||
if (field === "audiopath") return this.triggeredEventData?.data.audioPath;
|
if (field === "audiopath") return this.triggeredEventData?.data.audioPath;
|
||||||
if (field === "event") return this.triggeredEventData?.data.name;
|
if (field === "event") return this.triggeredEventData?.data.name;
|
||||||
if (field === "animation") return this.triggeredEventAnimation;
|
if (field === "animation") return this.triggeredEventData?.animation;
|
||||||
if (field === "track") return this.triggeredEventTrack;
|
if (field === "track") return this.triggeredEventData?.track;
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -36,7 +36,7 @@ class SpineC3Instance extends globalThis.ISDKWorldInstanceBase {
|
|||||||
public triggeredEventTrack = -1;
|
public triggeredEventTrack = -1;
|
||||||
public triggeredEventAnimation = "";
|
public triggeredEventAnimation = "";
|
||||||
public triggeredEventName = "";
|
public triggeredEventName = "";
|
||||||
public triggeredEventData?: Event;
|
public triggeredEventData?: Event & { track: number, animation: string };
|
||||||
|
|
||||||
private assetLoader: AssetLoader;
|
private assetLoader: AssetLoader;
|
||||||
private skeletonRenderer?: C3RendererRuntime;
|
private skeletonRenderer?: C3RendererRuntime;
|
||||||
@ -547,21 +547,21 @@ class SpineC3Instance extends globalThis.ISDKWorldInstanceBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private triggetAnimationEvent (eventName: string, track: number, animation: string, event?: Event) {
|
private triggerAnimationEvent (eventName: string, track: number, animation: string, event?: Event) {
|
||||||
this.triggeredEventTrack = track;
|
this.triggeredEventTrack = track;
|
||||||
this.triggeredEventAnimation = animation;
|
this.triggeredEventAnimation = animation;
|
||||||
this.triggeredEventName = eventName;
|
this.triggeredEventName = eventName;
|
||||||
this.triggeredEventData = event;
|
if (event) this.triggeredEventData = { ...event, track, animation };
|
||||||
this._trigger(C3.Plugins.EsotericSoftware_SpineConstruct3.Cnds.OnAnimationEvent);
|
this._trigger(C3.Plugins.EsotericSoftware_SpineConstruct3.Cnds.OnAnimationEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
private makeTrackListener = (track: number, animation: string): AnimationStateListener => ({
|
private makeTrackListener = (track: number, animation: string): AnimationStateListener => ({
|
||||||
start: () => this.triggetAnimationEvent("start", track, animation),
|
start: () => this.triggerAnimationEvent("start", track, animation),
|
||||||
dispose: () => this.triggetAnimationEvent("dispose", track, animation),
|
dispose: () => this.triggerAnimationEvent("dispose", track, animation),
|
||||||
event: (_, event) => this.triggetAnimationEvent("event", track, animation, event),
|
event: (_, event) => this.triggerAnimationEvent("event", track, animation, event),
|
||||||
interrupt: () => this.triggetAnimationEvent("interrupt", track, animation),
|
interrupt: () => this.triggerAnimationEvent("interrupt", track, animation),
|
||||||
end: () => this.triggetAnimationEvent("end", track, animation),
|
end: () => this.triggerAnimationEvent("end", track, animation),
|
||||||
complete: () => this.triggetAnimationEvent("complete", track, animation),
|
complete: () => this.triggerAnimationEvent("complete", track, animation),
|
||||||
})
|
})
|
||||||
|
|
||||||
/**********/
|
/**********/
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user