bard-legends-framework 0.8.13 → 0.8.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pixi/components/scroll-mask.ui.js +2 -2
- package/dist/pixi/components/scroll-mask.ui.js.map +1 -1
- package/dist/pixi/display-object/container.d.ts +2 -2
- package/dist/pixi/display-object/container.js +1 -1
- package/dist/pixi/display-object/container.js.map +1 -1
- package/dist/pixi/display-object/filters.d.ts +29 -0
- package/dist/pixi/display-object/filters.js +135 -0
- package/dist/pixi/display-object/filters.js.map +1 -0
- package/dist/pixi/display-object/index.d.ts +3 -2
- package/dist/pixi/display-object/index.js +2 -2
- package/dist/pixi/display-object/index.js.map +1 -1
- package/dist/pixi/display-object/objects/graphics/graphics.d.ts +32 -0
- package/dist/pixi/display-object/objects/graphics/graphics.js +198 -0
- package/dist/pixi/display-object/objects/graphics/graphics.js.map +1 -0
- package/dist/pixi/display-object/objects/graphics/helpers/dashed-line.helper.d.ts +16 -0
- package/dist/pixi/display-object/objects/graphics/helpers/dashed-line.helper.js +41 -0
- package/dist/pixi/display-object/objects/graphics/helpers/dashed-line.helper.js.map +1 -0
- package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.d.ts +11 -0
- package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.js +110 -0
- package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.js.map +1 -0
- package/dist/pixi/display-object/objects/sprite/sprite.d.ts +51 -0
- package/dist/pixi/display-object/objects/sprite/sprite.js +258 -0
- package/dist/pixi/display-object/objects/sprite/sprite.js.map +1 -0
- package/package.json +1 -1
- package/package.json.bak +1 -1
|
@@ -27,8 +27,8 @@ exports.ScrollMaskUI = exports.AnimationEaseInOutFlatter = void 0;
|
|
|
27
27
|
const helpers_lib_1 = require("helpers-lib");
|
|
28
28
|
const PIXI = __importStar(require("pixi.js"));
|
|
29
29
|
const container_1 = require("../display-object/container");
|
|
30
|
-
const graphics_1 = require("../display-object/objects/graphics");
|
|
31
|
-
const sprite_1 = require("../display-object/objects/sprite");
|
|
30
|
+
const graphics_1 = require("../display-object/objects/graphics/graphics");
|
|
31
|
+
const sprite_1 = require("../display-object/objects/sprite/sprite");
|
|
32
32
|
const game_assets_1 = require("../helpers/game-assets");
|
|
33
33
|
class AnimationEaseInOutFlatter {
|
|
34
34
|
start() { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-mask.ui.js","sourceRoot":"","sources":["../../../src/pixi/components/scroll-mask.ui.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAuE;AACvE,8CAAgC;AAIhC,2DAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"scroll-mask.ui.js","sourceRoot":"","sources":["../../../src/pixi/components/scroll-mask.ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Rectangle } from 'helpers-lib';
|
|
2
2
|
import { ContainerAttributes } from './container-attributes';
|
|
3
|
-
import { Filters } from './
|
|
4
|
-
import { Sprite } from './objects/sprite';
|
|
3
|
+
import { Filters } from './filters';
|
|
4
|
+
import { Sprite } from './objects/sprite/sprite';
|
|
5
5
|
export interface SetParentOptions {
|
|
6
6
|
addUnder: boolean;
|
|
7
7
|
cropOverflowingParts: boolean;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Container = void 0;
|
|
4
4
|
const helpers_lib_1 = require("helpers-lib");
|
|
5
5
|
const container_attributes_1 = require("./container-attributes");
|
|
6
|
-
const filters_1 = require("./
|
|
6
|
+
const filters_1 = require("./filters");
|
|
7
7
|
class Container extends container_attributes_1.ContainerAttributes {
|
|
8
8
|
static { this.allContainers = new Map(); }
|
|
9
9
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/pixi/display-object/container.ts"],"names":[],"mappings":";;;AAAA,6CAA4D;AAE5D,iEAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/pixi/display-object/container.ts"],"names":[],"mappings":";;;AAAA,6CAA4D;AAE5D,iEAA6D;AAC7D,uCAAoC;AAQpC,MAAa,SAAU,SAAQ,0CAAmB;aAC/B,kBAAa,GAAG,IAAI,GAAG,EAAqB,AAA/B,CAAgC;IAU9D;QACE,KAAK,EAAE,CAAC;QAPA,eAAU,GAAc,IAAI,CAAC;QAC7B,wBAAmB,GAAG;YAC9B,QAAQ,EAAE,KAAK;YACf,oBAAoB,EAAE,KAAK;SAC5B,CAAC;QAIA,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IAES,WAAW;QACnB,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IAChE,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qFAAqF,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;IAED,aAAa,CAAC,MAA0B,EAAE,cAA0C;QAClF,IAAI,eAA0B,CAAC;QAC/B,IAAI,wBAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAc,CAAC;YACnE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,MAAM,CAAC;QAC3B,CAAC;QAED,IAAI,OAAO,GAAG;YACZ,QAAQ,EAAE,eAAe,CAAC,mBAAmB,CAAC,QAAQ;YACtD,oBAAoB,EAAE,eAAe,CAAC,mBAAmB,CAAC,oBAAoB;YAC9E,GAAG,cAAc;SAClB,CAAC;QAEF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,WAAW;QACb,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QACjD,OAAO,IAAI,uBAAS,CAAC,IAAI,oBAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,oBAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtH,CAAC;;AApEH,8BAqEC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Vector } from 'helpers-lib';
|
|
2
|
+
import * as PIXI from 'pixi.js';
|
|
3
|
+
export declare class Filters {
|
|
4
|
+
private container;
|
|
5
|
+
private colorMatrix;
|
|
6
|
+
private _red;
|
|
7
|
+
get red(): number;
|
|
8
|
+
set red(value: number);
|
|
9
|
+
private _green;
|
|
10
|
+
get green(): number;
|
|
11
|
+
set green(value: number);
|
|
12
|
+
private _blue;
|
|
13
|
+
get blue(): number;
|
|
14
|
+
set blue(value: number);
|
|
15
|
+
private _brightness;
|
|
16
|
+
get brightness(): number;
|
|
17
|
+
set brightness(value: number);
|
|
18
|
+
private _contrast;
|
|
19
|
+
get contrast(): number;
|
|
20
|
+
set contrast(value: number);
|
|
21
|
+
private blurFilter;
|
|
22
|
+
private _blur;
|
|
23
|
+
get blur(): Vector | undefined;
|
|
24
|
+
set blur(value: Vector | number | undefined);
|
|
25
|
+
constructor(container: PIXI.Container);
|
|
26
|
+
removeColorFilter(): void;
|
|
27
|
+
private refreshColorMatrix;
|
|
28
|
+
private onFilterChange;
|
|
29
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.Filters = void 0;
|
|
27
|
+
const helpers_lib_1 = require("helpers-lib");
|
|
28
|
+
const PIXI = __importStar(require("pixi.js"));
|
|
29
|
+
const game_1 = require("../game");
|
|
30
|
+
const blur_filter_1 = require("./filters/base-filters/blur.filter");
|
|
31
|
+
class Filters {
|
|
32
|
+
get red() {
|
|
33
|
+
return this._red;
|
|
34
|
+
}
|
|
35
|
+
set red(value) {
|
|
36
|
+
this._red = value;
|
|
37
|
+
this.refreshColorMatrix();
|
|
38
|
+
}
|
|
39
|
+
get green() {
|
|
40
|
+
return this._green;
|
|
41
|
+
}
|
|
42
|
+
set green(value) {
|
|
43
|
+
this._green = value;
|
|
44
|
+
this.refreshColorMatrix();
|
|
45
|
+
}
|
|
46
|
+
get blue() {
|
|
47
|
+
return this._blue;
|
|
48
|
+
}
|
|
49
|
+
set blue(value) {
|
|
50
|
+
this._blue = value;
|
|
51
|
+
this.refreshColorMatrix();
|
|
52
|
+
}
|
|
53
|
+
get brightness() {
|
|
54
|
+
return this._brightness;
|
|
55
|
+
}
|
|
56
|
+
set brightness(value) {
|
|
57
|
+
this._brightness = value;
|
|
58
|
+
this.refreshColorMatrix();
|
|
59
|
+
}
|
|
60
|
+
get contrast() {
|
|
61
|
+
return this._contrast;
|
|
62
|
+
}
|
|
63
|
+
set contrast(value) {
|
|
64
|
+
this._contrast = value;
|
|
65
|
+
this.refreshColorMatrix();
|
|
66
|
+
}
|
|
67
|
+
get blur() {
|
|
68
|
+
return this._blur;
|
|
69
|
+
}
|
|
70
|
+
set blur(value) {
|
|
71
|
+
let blurVector = helpers_lib_1.Comparator.isNumber(value) ? new helpers_lib_1.Vector(value, value) : value;
|
|
72
|
+
if ((this._blur && blurVector && !this._blur.isEqual(blurVector)) ||
|
|
73
|
+
(this._blur && !blurVector) ||
|
|
74
|
+
(!this._blur && blurVector)) {
|
|
75
|
+
this._blur = blurVector;
|
|
76
|
+
if (this.blurFilter) {
|
|
77
|
+
this.blurFilter.destroy();
|
|
78
|
+
this.blurFilter = undefined;
|
|
79
|
+
}
|
|
80
|
+
if (blurVector) {
|
|
81
|
+
this.blurFilter = new blur_filter_1.BlurFilter(blurVector);
|
|
82
|
+
this.onFilterChange();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
constructor(container) {
|
|
87
|
+
this.container = container;
|
|
88
|
+
this._red = 1;
|
|
89
|
+
this._green = 1;
|
|
90
|
+
this._blue = 1;
|
|
91
|
+
this._brightness = 1;
|
|
92
|
+
this._contrast = 1;
|
|
93
|
+
this.onFilterChange();
|
|
94
|
+
}
|
|
95
|
+
removeColorFilter() {
|
|
96
|
+
this.colorMatrix?.destroy();
|
|
97
|
+
this.colorMatrix = undefined;
|
|
98
|
+
this.onFilterChange();
|
|
99
|
+
}
|
|
100
|
+
refreshColorMatrix() {
|
|
101
|
+
if (this._red === 1 && this._green === 1 && this._blue === 1 && this._brightness === 1 && this._contrast === 1) {
|
|
102
|
+
if (this.colorMatrix) {
|
|
103
|
+
this.colorMatrix.destroy();
|
|
104
|
+
this.colorMatrix = undefined;
|
|
105
|
+
this.onFilterChange();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
if (!this.colorMatrix) {
|
|
110
|
+
this.colorMatrix = new PIXI.ColorMatrixFilter();
|
|
111
|
+
this.colorMatrix.resolution = game_1.RESOLUTION;
|
|
112
|
+
this.onFilterChange();
|
|
113
|
+
}
|
|
114
|
+
// prettier-ignore
|
|
115
|
+
this.colorMatrix.matrix = [
|
|
116
|
+
this._red * this._contrast, 0, 0, 0, (this._brightness - 1),
|
|
117
|
+
0, this._green * this._contrast, 0, 0, (this._brightness - 1),
|
|
118
|
+
0, 0, this._blue * this._contrast, 0, (this._brightness - 1),
|
|
119
|
+
0, 0, 0, 1, 0
|
|
120
|
+
];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
onFilterChange() {
|
|
124
|
+
let filters = [];
|
|
125
|
+
if (this.blurFilter) {
|
|
126
|
+
filters.push(this.blurFilter);
|
|
127
|
+
}
|
|
128
|
+
if (this.colorMatrix) {
|
|
129
|
+
filters.push(this.colorMatrix);
|
|
130
|
+
}
|
|
131
|
+
this.container.filters = filters;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.Filters = Filters;
|
|
135
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/pixi/display-object/filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { Container, SetParentOptions } from './container';
|
|
2
2
|
export { ContainerEventType, Cursor } from './container-attributes';
|
|
3
|
-
export { Graphics } from './objects/graphics';
|
|
3
|
+
export { Graphics } from './objects/graphics/graphics';
|
|
4
|
+
export { CreateDashedLineOptions } from './objects/graphics/helpers/dashed-line.helper';
|
|
4
5
|
export { Placeholder } from './objects/placeholder';
|
|
5
|
-
export { Sprite } from './objects/sprite';
|
|
6
|
+
export { Sprite } from './objects/sprite/sprite';
|
|
6
7
|
export { DropShadowOptions, PartialTextOptions, TextOptions } from './objects/text/helpers/process-steps/1-data-in-converter/pixi-text-style-converter';
|
|
7
8
|
export { RichText, RichTextOptions, RichTextRectangleCut, RichTextStyles } from './objects/text/rich-text';
|
|
8
9
|
export { Text } from './objects/text/text';
|
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "Container", { enumerable: true, get: function ()
|
|
|
6
6
|
var container_attributes_1 = require("./container-attributes");
|
|
7
7
|
Object.defineProperty(exports, "ContainerEventType", { enumerable: true, get: function () { return container_attributes_1.ContainerEventType; } });
|
|
8
8
|
Object.defineProperty(exports, "Cursor", { enumerable: true, get: function () { return container_attributes_1.Cursor; } });
|
|
9
|
-
var graphics_1 = require("./objects/graphics");
|
|
9
|
+
var graphics_1 = require("./objects/graphics/graphics");
|
|
10
10
|
Object.defineProperty(exports, "Graphics", { enumerable: true, get: function () { return graphics_1.Graphics; } });
|
|
11
11
|
var placeholder_1 = require("./objects/placeholder");
|
|
12
12
|
Object.defineProperty(exports, "Placeholder", { enumerable: true, get: function () { return placeholder_1.Placeholder; } });
|
|
13
|
-
var sprite_1 = require("./objects/sprite");
|
|
13
|
+
var sprite_1 = require("./objects/sprite/sprite");
|
|
14
14
|
Object.defineProperty(exports, "Sprite", { enumerable: true, get: function () { return sprite_1.Sprite; } });
|
|
15
15
|
var rich_text_1 = require("./objects/text/rich-text");
|
|
16
16
|
Object.defineProperty(exports, "RichText", { enumerable: true, get: function () { return rich_text_1.RichText; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pixi/display-object/index.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;AAAjD,sGAAA,SAAS,OAAA;AAClB,+DAAoE;AAA3D,0HAAA,kBAAkB,OAAA;AAAE,8GAAA,MAAM,OAAA;AACnC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pixi/display-object/index.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;AAAjD,sGAAA,SAAS,OAAA;AAClB,+DAAoE;AAA3D,0HAAA,kBAAkB,OAAA;AAAE,8GAAA,MAAM,OAAA;AACnC,wDAAuD;AAA9C,oGAAA,QAAQ,OAAA;AAEjB,qDAAoD;AAA3C,0GAAA,WAAW,OAAA;AACpB,kDAAiD;AAAxC,gGAAA,MAAM,OAAA;AAMf,sDAA2G;AAAlG,qGAAA,QAAQ,OAAA;AACjB,4CAA2C;AAAlC,4FAAA,IAAI,OAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { RGBColor, Vector } from 'helpers-lib';
|
|
2
|
+
import * as PIXI from 'pixi.js';
|
|
3
|
+
import { Container, PolygonDefinition, Sprite } from '../../..';
|
|
4
|
+
import { CreateDashedLineOptions } from './helpers/dashed-line.helper';
|
|
5
|
+
export interface TextureOfGraphics {
|
|
6
|
+
readonly assetId: string;
|
|
7
|
+
readonly bounds: Vector;
|
|
8
|
+
}
|
|
9
|
+
export interface ToSpriteOptions {
|
|
10
|
+
readonly cache: boolean;
|
|
11
|
+
readonly cacheName: string;
|
|
12
|
+
readonly keepBounds: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare class Graphics extends Container {
|
|
15
|
+
private static drawnTextureCache;
|
|
16
|
+
static createArrow(size: number, color: RGBColor): Graphics;
|
|
17
|
+
static createDashedLine(from: Vector, to: Vector, partialOptions?: Partial<CreateDashedLineOptions>): Graphics;
|
|
18
|
+
static createVector(from: Vector, to: Vector, color: RGBColor): Graphics;
|
|
19
|
+
static createRectangleBorders(size: Vector, borderSize: number, color: RGBColor): Graphics;
|
|
20
|
+
static createRectangle(size: Vector, color?: RGBColor): Graphics;
|
|
21
|
+
static createCircle(radius: number, color: RGBColor): Graphics;
|
|
22
|
+
static createElipse(size: Vector, color: RGBColor): Graphics;
|
|
23
|
+
static createPolygon(polygon: PolygonDefinition, color: RGBColor): Graphics;
|
|
24
|
+
static createRegularPolygon(sides: number, radius: number, color: RGBColor): Graphics;
|
|
25
|
+
readonly pixiGraphics: PIXI.Graphics;
|
|
26
|
+
private cacheName;
|
|
27
|
+
protected constructor(pixiGraphics: PIXI.Graphics, cacheName: string);
|
|
28
|
+
protected destroySelf(): void;
|
|
29
|
+
toSprite(partialOptions?: Partial<ToSpriteOptions>): Sprite;
|
|
30
|
+
private getTexture;
|
|
31
|
+
private createTextureFromGraphics;
|
|
32
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.Graphics = void 0;
|
|
27
|
+
const helpers_lib_1 = require("helpers-lib");
|
|
28
|
+
const PIXI = __importStar(require("pixi.js"));
|
|
29
|
+
const __1 = require("../../..");
|
|
30
|
+
const game_1 = require("../../../game");
|
|
31
|
+
const game_assets_1 = require("../../../helpers/game-assets");
|
|
32
|
+
const dashed_line_helper_1 = require("./helpers/dashed-line.helper");
|
|
33
|
+
class Graphics extends __1.Container {
|
|
34
|
+
static { this.drawnTextureCache = new Map(); }
|
|
35
|
+
static createArrow(size, color) {
|
|
36
|
+
let pixiGraphics = new PIXI.Graphics();
|
|
37
|
+
let polygon = [
|
|
38
|
+
[
|
|
39
|
+
{ x: 0, y: -size / 2 },
|
|
40
|
+
{ x: (size * 3) / 8, y: -size / 8 },
|
|
41
|
+
{ x: size / 4, y: 0 },
|
|
42
|
+
{ x: 0, y: -size / 4 },
|
|
43
|
+
{ x: -size / 4, y: 0 },
|
|
44
|
+
{ x: (-size * 3) / 8, y: -size / 8 }
|
|
45
|
+
],
|
|
46
|
+
[
|
|
47
|
+
{ x: 0, y: -size / 4 },
|
|
48
|
+
{ x: size / 8 - size / 30, y: -size / 8 - size / 30 },
|
|
49
|
+
{ x: size / 8 - size / 30, y: (size * 7) / 16 },
|
|
50
|
+
{ x: -size / 8 + size / 30, y: (size * 7) / 16 },
|
|
51
|
+
{ x: -size / 8 + size / 30, y: -size / 8 - size / 30 }
|
|
52
|
+
]
|
|
53
|
+
];
|
|
54
|
+
pixiGraphics.beginFill(color);
|
|
55
|
+
polygon.forEach(vertices => {
|
|
56
|
+
pixiGraphics.drawPolygon(vertices.map(vertex => new PIXI.Point(vertex.x, vertex.y)));
|
|
57
|
+
});
|
|
58
|
+
pixiGraphics.endFill();
|
|
59
|
+
return new Graphics(pixiGraphics, JSON.stringify({ type: 'arrow', size, color }));
|
|
60
|
+
}
|
|
61
|
+
static createDashedLine(from, to, partialOptions) {
|
|
62
|
+
let options = {
|
|
63
|
+
width: 2,
|
|
64
|
+
dashLength: 10,
|
|
65
|
+
dashGap: 4,
|
|
66
|
+
lineStartGap: 0,
|
|
67
|
+
lineEndGap: 0,
|
|
68
|
+
color: helpers_lib_1.ColorHelper.white,
|
|
69
|
+
...partialOptions
|
|
70
|
+
};
|
|
71
|
+
let pixiGraphics = new PIXI.Graphics();
|
|
72
|
+
pixiGraphics.lineStyle(options.width, options.color);
|
|
73
|
+
let lines = dashed_line_helper_1.DashedLineHelper.getLines(from, to, options);
|
|
74
|
+
lines.forEach(line => {
|
|
75
|
+
pixiGraphics.moveTo(line.from.x, line.from.y).lineTo(line.to.x, line.to.y);
|
|
76
|
+
});
|
|
77
|
+
return new Graphics(pixiGraphics, JSON.stringify({ type: 'dashedLine', from, to, options }));
|
|
78
|
+
}
|
|
79
|
+
static createVector(from, to, color) {
|
|
80
|
+
let pixiGraphics = new PIXI.Graphics();
|
|
81
|
+
pixiGraphics.lineStyle(2, color);
|
|
82
|
+
pixiGraphics.moveTo(from.x, from.y);
|
|
83
|
+
pixiGraphics.lineTo(to.x, to.y);
|
|
84
|
+
pixiGraphics.lineStyle(1, color);
|
|
85
|
+
pixiGraphics.beginFill(helpers_lib_1.ColorHelper.white);
|
|
86
|
+
pixiGraphics.drawCircle(from.x, from.y, 3);
|
|
87
|
+
pixiGraphics.endFill();
|
|
88
|
+
return new Graphics(pixiGraphics, JSON.stringify({ type: 'line', start: from, end: to, color }));
|
|
89
|
+
}
|
|
90
|
+
static createRectangleBorders(size, borderSize, color) {
|
|
91
|
+
let pixiGraphics = new PIXI.Graphics();
|
|
92
|
+
pixiGraphics.beginFill(color);
|
|
93
|
+
pixiGraphics.drawRect(0, 0, size.x, borderSize);
|
|
94
|
+
pixiGraphics.drawRect(0, borderSize, borderSize, size.y - borderSize * 2);
|
|
95
|
+
pixiGraphics.drawRect(size.x - borderSize, borderSize, borderSize, size.y - borderSize * 2);
|
|
96
|
+
pixiGraphics.drawRect(0, size.y - borderSize, size.x, borderSize);
|
|
97
|
+
pixiGraphics.endFill();
|
|
98
|
+
return new Graphics(pixiGraphics, JSON.stringify({ type: 'rectangle-borders', size, borderSize, color }));
|
|
99
|
+
}
|
|
100
|
+
static createRectangle(size, color = helpers_lib_1.ColorHelper.white) {
|
|
101
|
+
let pixiGraphics = new PIXI.Graphics();
|
|
102
|
+
pixiGraphics.beginFill(color);
|
|
103
|
+
pixiGraphics.drawRect(0, 0, size.x, size.y);
|
|
104
|
+
pixiGraphics.endFill();
|
|
105
|
+
return new Graphics(pixiGraphics, JSON.stringify({ type: 'rectangle', size, color }));
|
|
106
|
+
}
|
|
107
|
+
static createCircle(radius, color) {
|
|
108
|
+
let pixiGraphics = new PIXI.Graphics();
|
|
109
|
+
pixiGraphics.beginFill(color);
|
|
110
|
+
pixiGraphics.drawCircle(0, 0, radius);
|
|
111
|
+
pixiGraphics.endFill();
|
|
112
|
+
return new Graphics(pixiGraphics, JSON.stringify({ type: 'circle', radius, color }));
|
|
113
|
+
}
|
|
114
|
+
static createElipse(size, color) {
|
|
115
|
+
let pixiGraphics = new PIXI.Graphics();
|
|
116
|
+
pixiGraphics.beginFill(color);
|
|
117
|
+
pixiGraphics.drawEllipse(0, 0, size.x, size.y);
|
|
118
|
+
pixiGraphics.endFill();
|
|
119
|
+
return new Graphics(pixiGraphics, JSON.stringify({ type: 'elipse', size, color }));
|
|
120
|
+
}
|
|
121
|
+
static createPolygon(polygon, color) {
|
|
122
|
+
let pixiGraphics = new PIXI.Graphics();
|
|
123
|
+
let cacheName = JSON.stringify({ type: 'polygon', polygon, color });
|
|
124
|
+
pixiGraphics.beginFill(color);
|
|
125
|
+
polygon.forEach(vertices => {
|
|
126
|
+
pixiGraphics.drawPolygon(vertices.map(vertex => new PIXI.Point(vertex.x, vertex.y)));
|
|
127
|
+
});
|
|
128
|
+
pixiGraphics.endFill();
|
|
129
|
+
return new Graphics(pixiGraphics, cacheName);
|
|
130
|
+
}
|
|
131
|
+
static createRegularPolygon(sides, radius, color) {
|
|
132
|
+
let polygon = new PIXI.Graphics();
|
|
133
|
+
let anglePerStep = new helpers_lib_1.Radian(helpers_lib_1.PI_360 / sides);
|
|
134
|
+
polygon.beginFill(color);
|
|
135
|
+
polygon.moveTo(radius, 0);
|
|
136
|
+
for (let i = 1; i <= sides; i++) {
|
|
137
|
+
let angle = anglePerStep.multiply(i);
|
|
138
|
+
let angleVector = angle.vector.normalize(radius);
|
|
139
|
+
let nextX = radius + angleVector.x;
|
|
140
|
+
let nextY = radius + angleVector.y;
|
|
141
|
+
polygon.lineTo(nextX, nextY);
|
|
142
|
+
}
|
|
143
|
+
polygon.endFill();
|
|
144
|
+
return new Graphics(polygon, JSON.stringify({ type: 'regular-polygon', sides, radius, color }));
|
|
145
|
+
}
|
|
146
|
+
constructor(pixiGraphics, cacheName) {
|
|
147
|
+
super();
|
|
148
|
+
this.pixiContainer.addChild(pixiGraphics);
|
|
149
|
+
this.pixiGraphics = pixiGraphics;
|
|
150
|
+
this.cacheName = cacheName;
|
|
151
|
+
}
|
|
152
|
+
destroySelf() {
|
|
153
|
+
super.destroySelf();
|
|
154
|
+
!this.pixiGraphics.destroyed && this.pixiGraphics.destroy();
|
|
155
|
+
}
|
|
156
|
+
toSprite(partialOptions) {
|
|
157
|
+
let options = {
|
|
158
|
+
cacheName: this.cacheName,
|
|
159
|
+
keepBounds: true,
|
|
160
|
+
cache: false,
|
|
161
|
+
...partialOptions
|
|
162
|
+
};
|
|
163
|
+
let textureConversion = this.getTexture(options.cacheName, options.cache);
|
|
164
|
+
let spriteDefinition = {
|
|
165
|
+
id: textureConversion.assetId,
|
|
166
|
+
scale: 1,
|
|
167
|
+
size: textureConversion.bounds,
|
|
168
|
+
anchor: { x: 0, y: 0 },
|
|
169
|
+
boundingShapes: undefined,
|
|
170
|
+
destroyAssetOnDestroy: !options.cache
|
|
171
|
+
};
|
|
172
|
+
let sprite = new __1.Sprite(spriteDefinition, { texturePosition: textureConversion.bounds, ignoreAnchor: true });
|
|
173
|
+
this.skipAttachCheck();
|
|
174
|
+
this.destroy();
|
|
175
|
+
return sprite;
|
|
176
|
+
}
|
|
177
|
+
getTexture(cacheName, cache) {
|
|
178
|
+
if (cache) {
|
|
179
|
+
let textureOfGraphics = Graphics.drawnTextureCache.get(cacheName);
|
|
180
|
+
if (!textureOfGraphics) {
|
|
181
|
+
textureOfGraphics = this.createTextureFromGraphics();
|
|
182
|
+
Graphics.drawnTextureCache.set(cacheName, textureOfGraphics);
|
|
183
|
+
}
|
|
184
|
+
return textureOfGraphics;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
return this.createTextureFromGraphics();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
createTextureFromGraphics() {
|
|
191
|
+
let texture = game_1.Game.instance.renderer.generateTexture(this.pixiGraphics);
|
|
192
|
+
texture.id = game_assets_1.GameAssets.insertAsset(texture);
|
|
193
|
+
let graphicsBounds = this.pixiGraphics.getBounds();
|
|
194
|
+
return { assetId: texture.id, bounds: new helpers_lib_1.Vector(graphicsBounds.x, graphicsBounds.y) };
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
exports.Graphics = Graphics;
|
|
198
|
+
//# sourceMappingURL=graphics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphics.js","sourceRoot":"","sources":["../../../../../src/pixi/display-object/objects/graphics/graphics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RGBColor, Vector } from 'helpers-lib';
|
|
2
|
+
export interface CreateDashedLineOptions {
|
|
3
|
+
readonly color: RGBColor;
|
|
4
|
+
readonly width: number;
|
|
5
|
+
readonly dashLength: number;
|
|
6
|
+
readonly dashGap: number;
|
|
7
|
+
readonly lineStartGap: number;
|
|
8
|
+
readonly lineEndGap: number;
|
|
9
|
+
}
|
|
10
|
+
export interface Line {
|
|
11
|
+
readonly from: Vector;
|
|
12
|
+
readonly to: Vector;
|
|
13
|
+
}
|
|
14
|
+
export declare class DashedLineHelper {
|
|
15
|
+
static getLines(from: Vector, to: Vector, options: CreateDashedLineOptions): Line[];
|
|
16
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DashedLineHelper = void 0;
|
|
4
|
+
const helpers_lib_1 = require("helpers-lib");
|
|
5
|
+
class DashedLineHelper {
|
|
6
|
+
static getLines(from, to, options) {
|
|
7
|
+
let fromTo = helpers_lib_1.Vector.fromTo(from, to);
|
|
8
|
+
let direction = fromTo.normalize();
|
|
9
|
+
let availableSpace = fromTo.length - options.lineStartGap - options.lineEndGap;
|
|
10
|
+
let lines = [];
|
|
11
|
+
if (availableSpace <= 0) {
|
|
12
|
+
return lines;
|
|
13
|
+
}
|
|
14
|
+
let penPosition = from.add(direction.normalize(options.lineStartGap));
|
|
15
|
+
if (availableSpace <= options.dashGap + options.dashLength * 0.5) {
|
|
16
|
+
lines.push({ from: penPosition, to: penPosition.add(direction.normalize(availableSpace)) });
|
|
17
|
+
return lines;
|
|
18
|
+
}
|
|
19
|
+
let regularlySplitSpace = availableSpace - options.dashGap;
|
|
20
|
+
let iterationLength = options.dashLength + options.dashGap;
|
|
21
|
+
let regularDashCount = Math.floor(regularlySplitSpace / iterationLength);
|
|
22
|
+
let leftOverDistance = regularlySplitSpace - iterationLength * regularDashCount;
|
|
23
|
+
let startEndVector = direction.normalize(leftOverDistance / 2);
|
|
24
|
+
let gapVector = direction.normalize(options.dashGap);
|
|
25
|
+
lines.push({ from: penPosition, to: penPosition.add(startEndVector) });
|
|
26
|
+
penPosition = penPosition.add(startEndVector);
|
|
27
|
+
if (regularDashCount > 0) {
|
|
28
|
+
let dashVector = direction.normalize(options.dashLength);
|
|
29
|
+
helpers_lib_1.ArrayHelper.createEmptyArray(regularDashCount).forEach(() => {
|
|
30
|
+
penPosition = penPosition.add(gapVector);
|
|
31
|
+
lines.push({ from: penPosition, to: penPosition.add(dashVector) });
|
|
32
|
+
penPosition = penPosition.add(dashVector);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
penPosition = penPosition.add(gapVector);
|
|
36
|
+
lines.push({ from: penPosition, to: penPosition.add(startEndVector) });
|
|
37
|
+
return lines;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.DashedLineHelper = DashedLineHelper;
|
|
41
|
+
//# sourceMappingURL=dashed-line.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashed-line.helper.js","sourceRoot":"","sources":["../../../../../../src/pixi/display-object/objects/graphics/helpers/dashed-line.helper.ts"],"names":[],"mappings":";;;AAAA,6CAA4D;AAgB5D,MAAa,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,EAAU,EAAE,OAAgC;QACxE,IAAI,MAAM,GAAG,oBAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;QAE/E,IAAI,KAAK,GAAW,EAAE,CAAC;QACvB,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAEtE,IAAI,cAAc,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5F,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,mBAAmB,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3D,IAAI,eAAe,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3D,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,eAAe,CAAC,CAAC;QACzE,IAAI,gBAAgB,GAAG,mBAAmB,GAAG,eAAe,GAAG,gBAAgB,CAAC;QAEhF,IAAI,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACvE,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE9C,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEzD,yBAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1D,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACnE,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAEvE,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA5CD,4CA4CC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as PIXI from 'pixi.js';
|
|
2
|
+
import { GlowEffectOptions } from '../../..';
|
|
3
|
+
export declare class GlowSpriteGenerator {
|
|
4
|
+
private static glowTextureCache;
|
|
5
|
+
static createGlowSpriteFromSprite(pixiSprite: PIXI.Sprite, partialOptions: GlowEffectOptions, cache: boolean): PIXI.Sprite;
|
|
6
|
+
private static getGlowTexture;
|
|
7
|
+
private static getGlowTextureFromSprite;
|
|
8
|
+
private static setEquavelentAnchorByExtendedBounds;
|
|
9
|
+
private static extendBounds;
|
|
10
|
+
private static completeOptions;
|
|
11
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.GlowSpriteGenerator = void 0;
|
|
27
|
+
const helpers_lib_1 = require("helpers-lib");
|
|
28
|
+
const PIXI = __importStar(require("pixi.js"));
|
|
29
|
+
const __1 = require("../../..");
|
|
30
|
+
const update_cycle_1 = require("../../../../game-entities/update-cycle");
|
|
31
|
+
const game_assets_1 = require("../../../helpers/game-assets");
|
|
32
|
+
const glow_filter_1 = require("../../filters/composite-filters/glow-filter");
|
|
33
|
+
class GlowSpriteGenerator {
|
|
34
|
+
static { this.glowTextureCache = new Map(); }
|
|
35
|
+
static createGlowSpriteFromSprite(pixiSprite, partialOptions, cache) {
|
|
36
|
+
let options = this.completeOptions(partialOptions);
|
|
37
|
+
let blurRadiusVector = helpers_lib_1.Comparator.isNumber(options.blurRadius)
|
|
38
|
+
? new helpers_lib_1.Vector(options.blurRadius, options.blurRadius)
|
|
39
|
+
: options.blurRadius;
|
|
40
|
+
let glowBaseTexture = this.getGlowTexture(pixiSprite.texture, blurRadiusVector, options.expand, options.color, cache);
|
|
41
|
+
let glowSprite = new PIXI.Sprite(glowBaseTexture);
|
|
42
|
+
this.setEquavelentAnchorByExtendedBounds(glowSprite, helpers_lib_1.Vector.fromVec2(pixiSprite.anchor), Math.max(blurRadiusVector.x, blurRadiusVector.y) + options.expand);
|
|
43
|
+
glowSprite.alpha = options.glowAlpha;
|
|
44
|
+
glowSprite.blendMode = options.blendMode;
|
|
45
|
+
return glowSprite;
|
|
46
|
+
}
|
|
47
|
+
static getGlowTexture(baseTexture, blurRadius, expand, color, cache) {
|
|
48
|
+
if (!baseTexture.id) {
|
|
49
|
+
throw new Error('GlowSpriteGenerator: baseTexture should have an id');
|
|
50
|
+
}
|
|
51
|
+
if (cache) {
|
|
52
|
+
let cacheName = `${baseTexture.id}-${expand}-${blurRadius.x}-${blurRadius.y}-${color.r}-${color.g}-${color.b}`;
|
|
53
|
+
if (GlowSpriteGenerator.glowTextureCache.has(cacheName)) {
|
|
54
|
+
return GlowSpriteGenerator.glowTextureCache.get(cacheName);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
let texture = this.getGlowTextureFromSprite(baseTexture, blurRadius, expand, color);
|
|
58
|
+
GlowSpriteGenerator.glowTextureCache.set(cacheName, texture);
|
|
59
|
+
return texture;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return this.getGlowTextureFromSprite(baseTexture, blurRadius, expand, color);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
static getGlowTextureFromSprite(baseTexture, blurRadius, expand, color) {
|
|
67
|
+
let glowBaseSprite = new PIXI.Sprite(baseTexture);
|
|
68
|
+
this.extendBounds(glowBaseSprite, Math.max(blurRadius.x, blurRadius.y) + expand);
|
|
69
|
+
glowBaseSprite.filters = [new glow_filter_1.GlowFilter({ blurRadius, expand, color })];
|
|
70
|
+
let texture = __1.Game.instance.renderer.generateTexture(glowBaseSprite);
|
|
71
|
+
texture.id = game_assets_1.GameAssets.insertAsset(texture);
|
|
72
|
+
glowBaseSprite.destroy();
|
|
73
|
+
return texture;
|
|
74
|
+
}
|
|
75
|
+
static setEquavelentAnchorByExtendedBounds(sprite, anchor, amount) {
|
|
76
|
+
let x = (amount + (sprite.width - amount * 2) * anchor.x) / sprite.width;
|
|
77
|
+
let y = (amount + (sprite.height - amount * 2) * anchor.y) / sprite.height;
|
|
78
|
+
sprite.anchor.set(x, y);
|
|
79
|
+
}
|
|
80
|
+
static extendBounds(container, amount) {
|
|
81
|
+
if (container.isSprite) {
|
|
82
|
+
let graphics = new PIXI.Graphics();
|
|
83
|
+
container.addChild(graphics);
|
|
84
|
+
}
|
|
85
|
+
let width = container.width;
|
|
86
|
+
let height = container.height;
|
|
87
|
+
container.calculateBounds = function () {
|
|
88
|
+
this._bounds.clear();
|
|
89
|
+
this._bounds.addFrame(this.transform, -amount, -amount, width + amount, height + amount);
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
static completeOptions(partialOptions) {
|
|
93
|
+
let options = {
|
|
94
|
+
glowAlpha: 1,
|
|
95
|
+
blurRadius: 5,
|
|
96
|
+
expand: 0,
|
|
97
|
+
color: helpers_lib_1.ColorHelper.white,
|
|
98
|
+
blendMode: __1.BlendMode.add
|
|
99
|
+
};
|
|
100
|
+
if (partialOptions) {
|
|
101
|
+
options = { ...options, ...partialOptions };
|
|
102
|
+
}
|
|
103
|
+
return options;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.GlowSpriteGenerator = GlowSpriteGenerator;
|
|
107
|
+
update_cycle_1.UpdateCycle.hardResetAction.subscribe(() => {
|
|
108
|
+
GlowSpriteGenerator['glowTextureCache'].clear();
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=glow-sprite-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glow-sprite-generator.js","sourceRoot":"","sources":["../../../../../src/pixi/display-object/objects/sprite/glow-sprite-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { RGBColor, Vector } from 'helpers-lib';
|
|
2
|
+
import * as PIXI from 'pixi.js';
|
|
3
|
+
import { BlendMode, GlowEffectOptions, SpriteDefinition } from '../../..';
|
|
4
|
+
import { Container } from '../../container';
|
|
5
|
+
export interface SpriteOptions {
|
|
6
|
+
readonly textureSize?: Vector;
|
|
7
|
+
readonly texturePosition?: Vector;
|
|
8
|
+
readonly ignoreAnchor?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare class Sprite extends Container {
|
|
11
|
+
static createSnapshotSprite(container: Container): Sprite;
|
|
12
|
+
readonly pixiSprite: PIXI.Sprite;
|
|
13
|
+
private spriteDefinition;
|
|
14
|
+
private mask;
|
|
15
|
+
private boundingShape;
|
|
16
|
+
private pixiGlowSprite;
|
|
17
|
+
constructor(spriteDefinition: SpriteDefinition, options?: SpriteOptions);
|
|
18
|
+
protected destroySelf(): void;
|
|
19
|
+
private _textureScale;
|
|
20
|
+
setTextureScale(value: number): this;
|
|
21
|
+
get textureScale(): number;
|
|
22
|
+
set textureScale(value: number);
|
|
23
|
+
get size(): Vector;
|
|
24
|
+
protected getMask(): PIXI.Container;
|
|
25
|
+
set interactive(value: boolean);
|
|
26
|
+
setMipmap(value: boolean): this;
|
|
27
|
+
get mipmap(): boolean;
|
|
28
|
+
set mipmap(value: boolean);
|
|
29
|
+
setBlendMode(value: BlendMode): this;
|
|
30
|
+
get blendMode(): BlendMode;
|
|
31
|
+
set blendMode(value: BlendMode);
|
|
32
|
+
setTint(tint: RGBColor): this;
|
|
33
|
+
get tint(): RGBColor;
|
|
34
|
+
set tint(value: RGBColor);
|
|
35
|
+
setShapeAlpha(value: number): this;
|
|
36
|
+
get shapeAlpha(): number;
|
|
37
|
+
set shapeAlpha(value: number);
|
|
38
|
+
setGlowAlpha(alpha: number): this;
|
|
39
|
+
get glowAlpha(): number;
|
|
40
|
+
set glowAlpha(value: number);
|
|
41
|
+
/**
|
|
42
|
+
* @param align the anchor of the desired alignment dimentions of the Sprite is from 0 to 1 like the anchor
|
|
43
|
+
* @returns the vector of the alignment to set the position for the children
|
|
44
|
+
*/
|
|
45
|
+
getAlignmentVector(alignment: Vector): Vector;
|
|
46
|
+
setGlowEffect(partialOptions: GlowEffectOptions | undefined): this;
|
|
47
|
+
showBoundingShape(value: boolean): this;
|
|
48
|
+
getBoundingMask(): Sprite;
|
|
49
|
+
private createBoundingShape;
|
|
50
|
+
download(): this;
|
|
51
|
+
}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.Sprite = void 0;
|
|
27
|
+
const helpers_lib_1 = require("helpers-lib");
|
|
28
|
+
const PIXI = __importStar(require("pixi.js"));
|
|
29
|
+
const __1 = require("../../..");
|
|
30
|
+
const game_assets_1 = require("../../../helpers/game-assets");
|
|
31
|
+
const position_conversion_helper_1 = require("../../../helpers/position-conversion.helper");
|
|
32
|
+
const container_1 = require("../../container");
|
|
33
|
+
const graphics_1 = require("../graphics/graphics");
|
|
34
|
+
const glow_sprite_generator_1 = require("./glow-sprite-generator");
|
|
35
|
+
class Sprite extends container_1.Container {
|
|
36
|
+
static createSnapshotSprite(container) {
|
|
37
|
+
let pixiContainer = container['pixiContainer'];
|
|
38
|
+
let parent = pixiContainer.parent;
|
|
39
|
+
// The "renderer.generateTexture" is not working if the sprite has a parent with the PIXI version 7.4.2
|
|
40
|
+
// TODO: Check if this is still the case with a newer version of PIXI
|
|
41
|
+
if (parent) {
|
|
42
|
+
parent.removeChild(pixiContainer);
|
|
43
|
+
}
|
|
44
|
+
let texture = __1.Game.instance.renderer.generateTexture(pixiContainer, {
|
|
45
|
+
resolution: 2,
|
|
46
|
+
scaleMode: PIXI.SCALE_MODES.LINEAR,
|
|
47
|
+
multisample: PIXI.MSAA_QUALITY.HIGH
|
|
48
|
+
});
|
|
49
|
+
if (parent) {
|
|
50
|
+
parent.addChild(pixiContainer); // TODO: removing and re-adding the child changes the order, it would break the z-index order
|
|
51
|
+
}
|
|
52
|
+
let assetId = game_assets_1.GameAssets.insertAsset(texture);
|
|
53
|
+
let spriteDefinition = {
|
|
54
|
+
id: assetId,
|
|
55
|
+
scale: container.scale,
|
|
56
|
+
size: container.size,
|
|
57
|
+
anchor: helpers_lib_1.Vector.zero,
|
|
58
|
+
boundingShapes: undefined,
|
|
59
|
+
destroyAssetOnDestroy: true
|
|
60
|
+
};
|
|
61
|
+
return new Sprite(spriteDefinition, { ignoreAnchor: true });
|
|
62
|
+
}
|
|
63
|
+
constructor(spriteDefinition, options = {}) {
|
|
64
|
+
super();
|
|
65
|
+
this._textureScale = 1;
|
|
66
|
+
if (!spriteDefinition) {
|
|
67
|
+
throw new Error(`Sprite: spriteDefinition cannot be nullish!`);
|
|
68
|
+
}
|
|
69
|
+
this.spriteDefinition = spriteDefinition;
|
|
70
|
+
this.pixiSprite = new PIXI.Sprite(game_assets_1.GameAssets.getAsset(spriteDefinition.id));
|
|
71
|
+
this.pixiContainer.addChild(this.pixiSprite);
|
|
72
|
+
this.setTextureScale(spriteDefinition.scale);
|
|
73
|
+
if (options.textureSize) {
|
|
74
|
+
this.pixiSprite.width = options.textureSize.x;
|
|
75
|
+
this.pixiSprite.height = options.textureSize.y;
|
|
76
|
+
}
|
|
77
|
+
if (options.texturePosition) {
|
|
78
|
+
this.pixiSprite.position.set(options.texturePosition.x, options.texturePosition.y);
|
|
79
|
+
}
|
|
80
|
+
if (!options.ignoreAnchor) {
|
|
81
|
+
this.pixiSprite.anchor.set(spriteDefinition.anchor.x, spriteDefinition.anchor.y);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
destroySelf() {
|
|
85
|
+
super.destroySelf();
|
|
86
|
+
!this.pixiGlowSprite?.destroyed && this.pixiGlowSprite?.destroy();
|
|
87
|
+
this.pixiGlowSprite = undefined;
|
|
88
|
+
this.mask?.destroy();
|
|
89
|
+
this.mask = undefined;
|
|
90
|
+
this.boundingShape?.destroy();
|
|
91
|
+
this.boundingShape = undefined;
|
|
92
|
+
if (this.spriteDefinition.destroyAssetOnDestroy) {
|
|
93
|
+
game_assets_1.GameAssets.destroyAsset(this.spriteDefinition.id);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
setTextureScale(value) {
|
|
97
|
+
this.textureScale = value;
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
get textureScale() {
|
|
101
|
+
return this._textureScale;
|
|
102
|
+
}
|
|
103
|
+
set textureScale(value) {
|
|
104
|
+
this._textureScale = value;
|
|
105
|
+
this.pixiSprite.scale.set(value);
|
|
106
|
+
}
|
|
107
|
+
get size() {
|
|
108
|
+
// pixiContainer size can be different because glow filter can increase the size of the sprite
|
|
109
|
+
return new helpers_lib_1.Vector(this.pixiSprite.width, this.pixiSprite.height);
|
|
110
|
+
}
|
|
111
|
+
getMask() {
|
|
112
|
+
return this.pixiSprite;
|
|
113
|
+
}
|
|
114
|
+
set interactive(value) {
|
|
115
|
+
super.interactive = value;
|
|
116
|
+
if (value && this.spriteDefinition.boundingShapes && !this.pixiContainer.hitArea) {
|
|
117
|
+
this.pixiContainer.hitArea = new position_conversion_helper_1.CompositeHitArea(this.spriteDefinition.boundingShapes, this.size, helpers_lib_1.Vector.fromVec2(this.spriteDefinition.anchor));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
setMipmap(value) {
|
|
121
|
+
this.mipmap = value;
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
get mipmap() {
|
|
125
|
+
return this.pixiSprite.texture.baseTexture.mipmap === PIXI.MIPMAP_MODES.ON;
|
|
126
|
+
}
|
|
127
|
+
set mipmap(value) {
|
|
128
|
+
if (value) {
|
|
129
|
+
this.pixiSprite.texture.baseTexture.mipmap = PIXI.MIPMAP_MODES.ON;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.pixiSprite.texture.baseTexture.mipmap = PIXI.MIPMAP_MODES.OFF;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
setBlendMode(value) {
|
|
136
|
+
this.blendMode = value;
|
|
137
|
+
return this;
|
|
138
|
+
}
|
|
139
|
+
get blendMode() {
|
|
140
|
+
return this.pixiSprite.blendMode;
|
|
141
|
+
}
|
|
142
|
+
set blendMode(value) {
|
|
143
|
+
this.pixiSprite.blendMode = value;
|
|
144
|
+
}
|
|
145
|
+
setTint(tint) {
|
|
146
|
+
this.tint = tint;
|
|
147
|
+
return this;
|
|
148
|
+
}
|
|
149
|
+
get tint() {
|
|
150
|
+
return new PIXI.Color(this.pixiSprite.tint).toRgb();
|
|
151
|
+
}
|
|
152
|
+
set tint(value) {
|
|
153
|
+
this.pixiSprite.tint = value;
|
|
154
|
+
}
|
|
155
|
+
setShapeAlpha(value) {
|
|
156
|
+
this.pixiSprite.alpha = value;
|
|
157
|
+
return this;
|
|
158
|
+
}
|
|
159
|
+
get shapeAlpha() {
|
|
160
|
+
return this.pixiSprite.alpha;
|
|
161
|
+
}
|
|
162
|
+
set shapeAlpha(value) {
|
|
163
|
+
this.pixiSprite.alpha = value;
|
|
164
|
+
}
|
|
165
|
+
setGlowAlpha(alpha) {
|
|
166
|
+
this.glowAlpha = alpha;
|
|
167
|
+
return this;
|
|
168
|
+
}
|
|
169
|
+
get glowAlpha() {
|
|
170
|
+
if (this.pixiGlowSprite) {
|
|
171
|
+
return this.pixiGlowSprite.alpha;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
throw new Error(`Sprite: getGlowFilterAlpha cannot be called before glow filter is added.`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
set glowAlpha(value) {
|
|
178
|
+
if (this.pixiGlowSprite) {
|
|
179
|
+
this.pixiGlowSprite.alpha = value;
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
throw new Error(`Sprite: setGlowFilterAlpha cannot be called before glow filter is added.`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* @param align the anchor of the desired alignment dimentions of the Sprite is from 0 to 1 like the anchor
|
|
187
|
+
* @returns the vector of the alignment to set the position for the children
|
|
188
|
+
*/
|
|
189
|
+
getAlignmentVector(alignment) {
|
|
190
|
+
let direction = helpers_lib_1.Vector.fromVec2(this.spriteDefinition.anchor).fromTo(alignment);
|
|
191
|
+
return new helpers_lib_1.Vector(this.size.x * direction.x, this.size.y * direction.y);
|
|
192
|
+
}
|
|
193
|
+
setGlowEffect(partialOptions) {
|
|
194
|
+
if (this.pixiGlowSprite) {
|
|
195
|
+
this.pixiGlowSprite.destroy();
|
|
196
|
+
this.pixiGlowSprite = undefined;
|
|
197
|
+
}
|
|
198
|
+
if (partialOptions) {
|
|
199
|
+
this.pixiGlowSprite = glow_sprite_generator_1.GlowSpriteGenerator.createGlowSpriteFromSprite(this.pixiSprite, partialOptions, !this.spriteDefinition.destroyAssetOnDestroy);
|
|
200
|
+
this.pixiGlowSprite.position.set(this.pixiSprite.x, this.pixiSprite.y);
|
|
201
|
+
this.pixiGlowSprite.scale.set(this.pixiSprite.scale.x, this.pixiSprite.scale.y);
|
|
202
|
+
this.pixiContainer.addChild(this.pixiGlowSprite);
|
|
203
|
+
}
|
|
204
|
+
return this;
|
|
205
|
+
}
|
|
206
|
+
showBoundingShape(value) {
|
|
207
|
+
if (value) {
|
|
208
|
+
if (!this.boundingShape) {
|
|
209
|
+
this.boundingShape = this.createBoundingShape().setAlpha(0.3).setTint({ r: 0, g: 0, b: 200 }).displayParent(this);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
else if (this.boundingShape) {
|
|
213
|
+
this.boundingShape.destroy();
|
|
214
|
+
this.boundingShape = undefined;
|
|
215
|
+
}
|
|
216
|
+
return this;
|
|
217
|
+
}
|
|
218
|
+
getBoundingMask() {
|
|
219
|
+
if (!this.mask) {
|
|
220
|
+
if (!this.spriteDefinition.boundingShapes) {
|
|
221
|
+
throw new Error(`Sprite: cropOverflowingParts cannot be used without polygonDefinition!`);
|
|
222
|
+
}
|
|
223
|
+
this.mask = this.createBoundingShape();
|
|
224
|
+
// PixiJS prevents mask sprites from being rendered, but when there is display object left that uses the mask, it will be rendered.
|
|
225
|
+
// to prevent this, we set the mask's renderable property to false and set the mask's maskRefCount to Number.POSITIVE_INFINITY
|
|
226
|
+
this.mask.pixiSprite['_maskRefCount'] = Number.POSITIVE_INFINITY;
|
|
227
|
+
this.mask.pixiSprite.renderable = false;
|
|
228
|
+
this.mask.displayParent(this);
|
|
229
|
+
}
|
|
230
|
+
return this.mask;
|
|
231
|
+
}
|
|
232
|
+
createBoundingShape() {
|
|
233
|
+
if (!this.spriteDefinition.boundingShapes) {
|
|
234
|
+
throw new Error(`Sprite: bounding shape cannot be created without polygonDefinition!`);
|
|
235
|
+
}
|
|
236
|
+
return graphics_1.Graphics.createPolygon(this.spriteDefinition.boundingShapes, helpers_lib_1.ColorHelper.white).toSprite().attach(this);
|
|
237
|
+
}
|
|
238
|
+
download() {
|
|
239
|
+
let canvas = __1.Game.instance.renderer.extract.canvas(this.pixiContainer);
|
|
240
|
+
if (!canvas.toBlob) {
|
|
241
|
+
throw new Error(`Sprite: canvas.toBlob is undefined!`);
|
|
242
|
+
}
|
|
243
|
+
canvas.toBlob(blob => {
|
|
244
|
+
if (!blob) {
|
|
245
|
+
throw new Error(`Sprite: blob is undefined!`);
|
|
246
|
+
}
|
|
247
|
+
let a = document.createElement('a');
|
|
248
|
+
document.body.append(a);
|
|
249
|
+
a.download = 'sprite.png';
|
|
250
|
+
a.href = URL.createObjectURL(blob);
|
|
251
|
+
a.click();
|
|
252
|
+
a.remove();
|
|
253
|
+
}, 'image/png');
|
|
254
|
+
return this;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
exports.Sprite = Sprite;
|
|
258
|
+
//# sourceMappingURL=sprite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite.js","sourceRoot":"","sources":["../../../../../src/pixi/display-object/objects/sprite/sprite.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED