mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
48 lines
9.0 KiB
JavaScript
48 lines
9.0 KiB
JavaScript
/*
|
|
The MIT License (MIT)
|
|
|
|
Copyright (c) 2021-present AgogPixel
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
*/
|
|
// Adapted from https://github.com/agogpixel/phaser3-ts-utils/tree/main
|
|
let components = Phaser.GameObjects.Components;
|
|
export const ComputedSize = components.ComputedSize;
|
|
export const Depth = components.Depth;
|
|
export const Flip = components.Flip;
|
|
export const ScrollFactor = components.ScrollFactor;
|
|
export const Transform = components.Transform;
|
|
export const Visible = components.Visible;
|
|
export const Origin = components.Origin;
|
|
export const Alpha = components.Alpha;
|
|
export function createMixin(...component) {
|
|
return (BaseGameObject) => {
|
|
Phaser.Class.mixin(BaseGameObject, component);
|
|
return BaseGameObject;
|
|
};
|
|
}
|
|
export const ComputedSizeMixin = createMixin(ComputedSize);
|
|
export const DepthMixin = createMixin(Depth);
|
|
export const FlipMixin = createMixin(Flip);
|
|
export const ScrollFactorMixin = createMixin(ScrollFactor);
|
|
export const TransformMixin = createMixin(Transform);
|
|
export const VisibleMixin = createMixin(Visible);
|
|
export const OriginMixin = createMixin(Origin);
|
|
export const AlphaMixin = createMixin(Alpha);
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4aW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21peGlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXNCRTtBQUVGLHVFQUF1RTtBQUV2RSxJQUFJLFVBQVUsR0FBSSxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQWtCLENBQUM7QUFDeEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDcEMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7QUFldEMsTUFBTSxVQUFVLFdBQVcsQ0FJMUIsR0FBRyxTQUFnQztJQUVuQyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUU7UUFDeEIsTUFBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sY0FBcUIsQ0FBQztJQUM5QixDQUFDLENBQUM7QUFDSCxDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXNCLFdBQVcsQ0FBNkMsWUFBWSxDQUFDLENBQUM7QUFHMUgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFlLFdBQVcsQ0FBc0MsS0FBSyxDQUFDLENBQUM7QUFHOUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFjLFdBQVcsQ0FBcUMsSUFBSSxDQUFDLENBQUM7QUFHMUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXNCLFdBQVcsQ0FBNkMsWUFBWSxDQUFDLENBQUM7QUFHMUgsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFtQixXQUFXLENBQTBDLFNBQVMsQ0FBQyxDQUFDO0FBRzlHLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBaUIsV0FBVyxDQUF3QyxPQUFPLENBQUMsQ0FBQztBQUd0RyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQWdCLFdBQVcsQ0FBdUMsTUFBTSxDQUFDLENBQUM7QUFHbEcsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFlLFdBQVcsQ0FBc0MsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuVGhlIE1JVCBMaWNlbnNlIChNSVQpXG5cbkNvcHlyaWdodCAoYykgMjAyMS1wcmVzZW50IEFnb2dQaXhlbFxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG5vZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG5pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG50byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG5jb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG5PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuU09GVFdBUkUuXG4qL1xuXG4vLyBBZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2Fnb2dwaXhlbC9waGFzZXIzLXRzLXV0aWxzL3RyZWUvbWFpblxuXG5sZXQgY29tcG9uZW50cyA9IChQaGFzZXIuR2FtZU9iamVjdHMuQ29tcG9uZW50cyBhcyBhbnkpO1xuZXhwb3J0IGNvbnN0IENvbXB1dGVkU2l6ZSA9IGNvbXBvbmVudHMuQ29tcHV0ZWRTaXplO1xuZXhwb3J0IGNvbnN0IERlcHRoID0gY29tcG9uZW50cy5EZXB0aDtcbmV4cG9ydCBjb25zdCBGbGlwID0gY29tcG9uZW50cy5GbGlwO1xuZXhwb3J0IGNvbnN0IFNjcm9sbEZhY3RvciA9IGNvbXBvbmVudHMuU2Nyb2xsRmFjdG9yO1xuZXhwb3J0IGNvbnN0IFRyYW5zZm9ybSA9IGNvbXBvbmVudHMuVHJhbnNmb3JtO1xuZXhwb3J0IGNvbnN0IFZpc2libGUgPSBjb21wb25lbnRzLlZpc2libGU7XG5leHBvcnQgY29uc3QgT3JpZ2luID0gY29tcG9uZW50cy5PcmlnaW47XG5leHBvcnQgY29uc3QgQWxwaGEgPSBjb21wb25lbnRzLkFscGhhO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGU8XG5cdFQsXG5cdFAgZXh0ZW5kcyBhbnlbXSA9IGFueVtdXG5cdD4gZXh0ZW5kcyBGdW5jdGlvbiB7XG5cdG5ldyguLi5hcmdzOiBQKTogVDtcbn1cblxuZXhwb3J0IHR5cGUgTWl4aW48R2FtZU9iamVjdENvbXBvbmVudCwgR2FtZU9iamVjdENvbnN0cmFpbnQgZXh0ZW5kcyBQaGFzZXIuR2FtZU9iamVjdHMuR2FtZU9iamVjdD4gPSA8XG5cdEdhbWVPYmplY3RUeXBlIGV4dGVuZHMgVHlwZTxHYW1lT2JqZWN0Q29uc3RyYWludD5cblx0Pihcblx0QmFzZUdhbWVPYmplY3Q6IEdhbWVPYmplY3RUeXBlXG4pID0+IEdhbWVPYmplY3RUeXBlICYgVHlwZTxHYW1lT2JqZWN0Q29tcG9uZW50PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1peGluPFxuXHRHYW1lT2JqZWN0Q29tcG9uZW50LFxuXHRHYW1lT2JqZWN0Q29uc3RyYWludCBleHRlbmRzIFBoYXNlci5HYW1lT2JqZWN0cy5HYW1lT2JqZWN0ID0gUGhhc2VyLkdhbWVPYmplY3RzLkdhbWVPYmplY3Rcbj4gKFxuXHQuLi5jb21wb25lbnQ6IEdhbWVPYmplY3RDb21wb25lbnRbXVxuKTogTWl4aW48R2FtZU9iamVjdENvbXBvbmVudCwgR2FtZU9iamVjdENvbnN0cmFpbnQ+IHtcblx0cmV0dXJuIChCYXNlR2FtZU9iamVjdCkgPT4ge1xuXHRcdChQaGFzZXIgYXMgYW55KS5DbGFzcy5taXhpbihCYXNlR2FtZU9iamVjdCwgY29tcG9uZW50KTtcblx0XHRyZXR1cm4gQmFzZUdhbWVPYmplY3QgYXMgYW55O1xuXHR9O1xufVxuXG50eXBlIENvbXB1dGVkU2l6ZU1peGluID0gTWl4aW48UGhhc2VyLkdhbWVPYmplY3RzLkNvbXBvbmVudHMuQ29tcHV0ZWRTaXplLCBQaGFzZXIuR2FtZU9iamVjdHMuR2FtZU9iamVjdD47XG5leHBvcnQgY29uc3QgQ29tcHV0ZWRTaXplTWl4aW46IENvbXB1dGVkU2l6ZU1peGluID0gY3JlYXRlTWl4aW48UGhhc2VyLkdhbWVPYmplY3RzLkNvbXBvbmVudHMuQ29tcHV0ZWRTaXplPihDb21wdXRlZFNpemUpO1xuXG50eXBlIERlcHRoTWl4aW4gPSBNaXhpbjxQaGFzZXIuR2FtZU9iamVjdHMuQ29tcG9uZW50cy5EZXB0aCwgUGhhc2VyLkdhbWVPYmplY3RzLkdhbWVPYmplY3Q+O1xuZXhwb3J0IGNvbnN0IERlcHRoTWl4aW46IERlcHRoTWl4aW4gPSBjcmVhdGVNaXhpbjxQaGFzZXIuR2FtZU9iamVjdHMuQ29tcG9uZW50cy5EZXB0aD4oRGVwdGgpO1xuXG50eXBlIEZsaXBNaXhpbiA9IE1peGluPFBoYXNlci5HYW1lT2JqZWN0cy5Db21wb25lbnRzLkZsaXAsIFBoYXNlci5HYW1lT2JqZWN0cy5HYW1lT2JqZWN0PjtcbmV4cG9ydCBjb25zdCBGbGlwTWl4aW46IEZsaXBNaXhpbiA9IGNyZWF0ZU1peGluPFBoYXNlci5HYW1lT2JqZWN0cy5Db21wb25lbnRzLkZsaXA+KEZsaXApO1xuXG50eXBlIFNjcm9sbEZhY3Rvck1peGluID0gTWl4aW48UGhhc2VyLkdhbWVPYmplY3RzLkNvbXBvbmVudHMuU2Nyb2xsRmFjdG9yLCBQaGFzZXIuR2FtZU9iamVjdHMuR2FtZU9iamVjdD47XG5leHBvcnQgY29uc3QgU2Nyb2xsRmFjdG9yTWl4aW46IFNjcm9sbEZhY3Rvck1peGluID0gY3JlYXRlTWl4aW48UGhhc2VyLkdhbWVPYmplY3RzLkNvbXBvbmVudHMuU2Nyb2xsRmFjdG9yPihTY3JvbGxGYWN0b3IpO1xuXG50eXBlIFRyYW5zZm9ybU1peGluID0gTWl4aW48UGhhc2VyLkdhbWVPYmplY3RzLkNvbXBvbmVudHMuVHJhbnNmb3JtLCBQaGFzZXIuR2FtZU9iamVjdHMuR2FtZU9iamVjdD47XG5leHBvcnQgY29uc3QgVHJhbnNmb3JtTWl4aW46IFRyYW5zZm9ybU1peGluID0gY3JlYXRlTWl4aW48UGhhc2VyLkdhbWVPYmplY3RzLkNvbXBvbmVudHMuVHJhbnNmb3JtPihUcmFuc2Zvcm0pO1xuXG50eXBlIFZpc2libGVNaXhpbiA9IE1peGluPFBoYXNlci5HYW1lT2JqZWN0cy5Db21wb25lbnRzLlZpc2libGUsIFBoYXNlci5HYW1lT2JqZWN0cy5HYW1lT2JqZWN0PjtcbmV4cG9ydCBjb25zdCBWaXNpYmxlTWl4aW46IFZpc2libGVNaXhpbiA9IGNyZWF0ZU1peGluPFBoYXNlci5HYW1lT2JqZWN0cy5Db21wb25lbnRzLlZpc2libGU+KFZpc2libGUpO1xuXG50eXBlIE9yaWdpbk1peGluID0gTWl4aW48UGhhc2VyLkdhbWVPYmplY3RzLkNvbXBvbmVudHMuT3JpZ2luLCBQaGFzZXIuR2FtZU9iamVjdHMuR2FtZU9iamVjdD47XG5leHBvcnQgY29uc3QgT3JpZ2luTWl4aW46IE9yaWdpbk1peGluID0gY3JlYXRlTWl4aW48UGhhc2VyLkdhbWVPYmplY3RzLkNvbXBvbmVudHMuT3JpZ2luPihPcmlnaW4pO1xuXG50eXBlIEFscGhhTWl4aW4gPSBNaXhpbjxQaGFzZXIuR2FtZU9iamVjdHMuQ29tcG9uZW50cy5BbHBoYSwgUGhhc2VyLkdhbWVPYmplY3RzLkdhbWVPYmplY3Q+O1xuZXhwb3J0IGNvbnN0IEFscGhhTWl4aW46IEFscGhhTWl4aW4gPSBjcmVhdGVNaXhpbjxQaGFzZXIuR2FtZU9iamVjdHMuQ29tcG9uZW50cy5BbHBoYT4oQWxwaGEpOyJdfQ==
|