@safe-engine/pixi 8.1.4 → 8.2.2
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/@types/index.d.ts +2 -0
- package/@types/safex.d.ts +168 -0
- package/README.md +9 -3
- package/dist/app.d.ts +1 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +25 -24
- package/dist/base/EnhancedComponent.d.ts +25 -0
- package/dist/base/EnhancedComponent.d.ts.map +1 -0
- package/dist/base/EnhancedComponent.js +26 -0
- package/dist/base/gworld.d.ts +8 -0
- package/dist/base/gworld.d.ts.map +1 -0
- package/dist/base/gworld.js +16 -0
- package/dist/base/index.d.ts +4 -0
- package/dist/base/index.d.ts.map +1 -0
- package/dist/base/index.js +3 -0
- package/dist/base/utils.d.ts +6 -0
- package/dist/base/utils.d.ts.map +1 -0
- package/dist/base/utils.js +3 -0
- package/dist/collider/CollideComponent.d.ts +63 -0
- package/dist/collider/CollideComponent.d.ts.map +1 -0
- package/dist/collider/CollideComponent.js +238 -0
- package/dist/collider/CollideSystem.d.ts +26 -0
- package/dist/collider/CollideSystem.d.ts.map +1 -0
- package/dist/collider/CollideSystem.js +159 -0
- package/dist/collider/helper/Intersection.d.ts +7 -0
- package/dist/collider/helper/Intersection.d.ts.map +1 -0
- package/dist/collider/helper/Intersection.js +111 -0
- package/dist/collider/helper/utils.d.ts +3 -0
- package/dist/collider/helper/utils.d.ts.map +1 -0
- package/dist/collider/helper/utils.js +11 -0
- package/dist/collider/index.d.ts +3 -0
- package/dist/collider/index.d.ts.map +1 -0
- package/dist/collider/index.js +2 -0
- package/dist/components/BaseComponent.d.ts +6 -5
- package/dist/components/BaseComponent.d.ts.map +1 -1
- package/dist/components/BaseComponent.js +7 -9
- package/dist/components/NodeComp.d.ts +13 -13
- package/dist/components/NodeComp.d.ts.map +1 -1
- package/dist/components/NodeComp.js +32 -28
- package/dist/components/Scene.d.ts +2 -3
- package/dist/components/Scene.d.ts.map +1 -1
- package/dist/components/Scene.js +6 -10
- package/dist/core/Color.d.ts +1 -0
- package/dist/core/Color.d.ts.map +1 -1
- package/dist/core/Color.js +3 -6
- package/dist/core/LoadingBar.js +10 -15
- package/dist/core/NodePool.d.ts +9 -0
- package/dist/core/NodePool.d.ts.map +1 -0
- package/dist/core/NodePool.js +24 -0
- package/dist/core/Size.js +1 -4
- package/dist/core/director.d.ts +3 -0
- package/dist/core/director.d.ts.map +1 -0
- package/dist/core/director.js +7 -0
- package/dist/core/math.d.ts +4 -0
- package/dist/core/math.d.ts.map +1 -0
- package/dist/core/math.js +10 -0
- package/dist/dragonbones/DragonBonesComponent.d.ts +17 -0
- package/dist/dragonbones/DragonBonesComponent.d.ts.map +1 -0
- package/dist/dragonbones/DragonBonesComponent.js +18 -0
- package/dist/dragonbones/DragonBonesSystem.d.ts +6 -0
- package/dist/dragonbones/DragonBonesSystem.d.ts.map +1 -0
- package/dist/dragonbones/DragonBonesSystem.js +29 -0
- package/dist/dragonbones/index.d.ts +3 -0
- package/dist/dragonbones/index.d.ts.map +1 -0
- package/dist/dragonbones/index.js +2 -0
- package/dist/{components → gui}/GUIComponent.d.ts +29 -23
- package/dist/gui/GUIComponent.d.ts.map +1 -0
- package/dist/gui/GUIComponent.js +123 -0
- package/dist/{systems → gui}/GUISystem.d.ts +1 -1
- package/dist/gui/GUISystem.d.ts.map +1 -0
- package/dist/gui/GUISystem.js +100 -0
- package/dist/helper/html-text-parser.d.ts +19 -29
- package/dist/helper/html-text-parser.d.ts.map +1 -1
- package/dist/helper/html-text-parser.js +57 -346
- package/dist/helper/utils.d.ts +2 -3
- package/dist/helper/utils.d.ts.map +1 -1
- package/dist/helper/utils.js +18 -23
- package/dist/index.d.ts +16 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -28
- package/dist/norender/NoRenderComponent.d.ts +35 -0
- package/dist/norender/NoRenderComponent.d.ts.map +1 -0
- package/dist/norender/NoRenderComponent.js +53 -0
- package/dist/norender/NoRenderSystem.d.ts +5 -0
- package/dist/norender/NoRenderSystem.d.ts.map +1 -0
- package/dist/norender/NoRenderSystem.js +57 -0
- package/dist/planck/PhysicsComponent.d.ts +37 -0
- package/dist/planck/PhysicsComponent.d.ts.map +1 -0
- package/dist/planck/PhysicsComponent.js +52 -0
- package/dist/planck/PhysicsSprite.d.ts +16 -0
- package/dist/planck/PhysicsSprite.d.ts.map +1 -0
- package/dist/planck/PhysicsSprite.js +31 -0
- package/dist/planck/PhysicsSystem.d.ts +20 -0
- package/dist/planck/PhysicsSystem.d.ts.map +1 -0
- package/dist/planck/PhysicsSystem.js +187 -0
- package/dist/planck/index.d.ts +4 -0
- package/dist/planck/index.d.ts.map +1 -0
- package/dist/planck/index.js +3 -0
- package/dist/render/RenderComponent.d.ts +52 -0
- package/dist/render/RenderComponent.d.ts.map +1 -0
- package/dist/render/RenderComponent.js +104 -0
- package/dist/render/RenderSystem.d.ts.map +1 -0
- package/dist/render/RenderSystem.js +65 -0
- package/dist/spine/SpineComponent.d.ts +10 -0
- package/dist/spine/SpineComponent.d.ts.map +1 -0
- package/dist/spine/SpineComponent.js +3 -0
- package/dist/spine/SpineSystem.d.ts +5 -0
- package/dist/spine/SpineSystem.d.ts.map +1 -0
- package/dist/spine/SpineSystem.js +25 -0
- package/dist/spine/index.d.ts +3 -0
- package/dist/spine/index.d.ts.map +1 -0
- package/dist/spine/index.js +2 -0
- package/dist/spine/lib/BatchableSpineSlot.d.ts +59 -0
- package/dist/spine/lib/BatchableSpineSlot.d.ts.map +1 -0
- package/dist/spine/lib/BatchableSpineSlot.js +86 -0
- package/dist/spine/lib/Spine.d.ts +239 -0
- package/dist/spine/lib/Spine.d.ts.map +1 -0
- package/dist/spine/lib/Spine.js +628 -0
- package/dist/spine/lib/SpineDebugRenderer.d.ts +109 -0
- package/dist/spine/lib/SpineDebugRenderer.d.ts.map +1 -0
- package/dist/spine/lib/SpineDebugRenderer.js +474 -0
- package/dist/spine/lib/SpinePipe.d.ts +49 -0
- package/dist/spine/lib/SpinePipe.d.ts.map +1 -0
- package/dist/spine/lib/SpinePipe.js +148 -0
- package/dist/spine/lib/SpineTexture.d.ts +45 -0
- package/dist/spine/lib/SpineTexture.d.ts.map +1 -0
- package/dist/spine/lib/SpineTexture.js +114 -0
- package/dist/spine/lib/assets/atlasLoader.d.ts +34 -0
- package/dist/spine/lib/assets/atlasLoader.d.ts.map +1 -0
- package/dist/spine/lib/assets/atlasLoader.js +122 -0
- package/dist/spine/lib/assets/skeletonLoader.d.ts +30 -0
- package/dist/spine/lib/assets/skeletonLoader.d.ts.map +1 -0
- package/dist/spine/lib/assets/skeletonLoader.js +70 -0
- package/dist/spine/lib/darktint/DarkTintBatchGeometry.d.ts +33 -0
- package/dist/spine/lib/darktint/DarkTintBatchGeometry.d.ts.map +1 -0
- package/dist/spine/lib/darktint/DarkTintBatchGeometry.js +84 -0
- package/dist/spine/lib/darktint/DarkTintBatcher.d.ts +50 -0
- package/dist/spine/lib/darktint/DarkTintBatcher.d.ts.map +1 -0
- package/dist/spine/lib/darktint/DarkTintBatcher.js +131 -0
- package/dist/spine/lib/darktint/DarkTintShader.d.ts +33 -0
- package/dist/spine/lib/darktint/DarkTintShader.d.ts.map +1 -0
- package/dist/spine/lib/darktint/DarkTintShader.js +59 -0
- package/dist/spine/lib/darktint/darkTintBit.d.ts +51 -0
- package/dist/spine/lib/darktint/darkTintBit.d.ts.map +1 -0
- package/dist/spine/lib/darktint/darkTintBit.js +75 -0
- package/dist/spine/lib/index.d.ts +42 -0
- package/dist/spine/lib/index.d.ts.map +1 -0
- package/dist/spine/lib/index.js +41 -0
- package/dist/spine/lib/require-shim.d.ts +34 -0
- package/dist/spine/lib/require-shim.d.ts.map +1 -0
- package/dist/spine/lib/require-shim.js +38 -0
- package/package.json +12 -9
- package/dist/components/GUIComponent.d.ts.map +0 -1
- package/dist/components/GUIComponent.js +0 -126
- package/dist/components/RenderComponent.d.ts +0 -29
- package/dist/components/RenderComponent.d.ts.map +0 -1
- package/dist/components/RenderComponent.js +0 -58
- package/dist/systems/GUISystem.d.ts.map +0 -1
- package/dist/systems/GUISystem.js +0 -90
- package/dist/systems/RenderSystem.d.ts.map +0 -1
- package/dist/systems/RenderSystem.js +0 -67
- /package/dist/{systems → render}/RenderSystem.d.ts +0 -0
|
@@ -1,353 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
of this software and associated engine source code (the "Software"), a limited,
|
|
13
|
-
worldwide, royalty-free, non-assignable, revocable and non-exclusive license
|
|
14
|
-
to use Cocos Creator solely to develop games on your target platforms. You shall
|
|
15
|
-
not use Cocos Creator software for developing other software or tools that's
|
|
16
|
-
used for developing games. You are not granted to publish, distribute,
|
|
17
|
-
sublicense, and/or sell copies of Cocos Creator.
|
|
18
|
-
|
|
19
|
-
The software or tools in this License Agreement are licensed, not sold.
|
|
20
|
-
Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.
|
|
21
|
-
|
|
22
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
23
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
24
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
25
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
26
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
27
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
28
|
-
THE SOFTWARE.
|
|
29
|
-
****************************************************************************/
|
|
30
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
exports.HtmlTextParser = void 0;
|
|
32
|
-
const eventRegx = /^(click)(\s)*=|(param)(\s)*=/;
|
|
33
|
-
const imageAttrReg = /(\s)*src(\s)*=|(\s)*height(\s)*=|(\s)*width(\s)*=|(\s)*align(\s)*=|(\s)*offset(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;
|
|
34
|
-
/**
|
|
35
|
-
* A utils class for parsing HTML texts. The parsed results will be an object array.
|
|
36
|
-
*/
|
|
37
|
-
const HtmlTextParser = function () {
|
|
38
|
-
this._parsedObject = {};
|
|
39
|
-
this._specialSymbolArray = [];
|
|
40
|
-
this._specialSymbolArray.push([/</g, '<']);
|
|
41
|
-
this._specialSymbolArray.push([/>/g, '>']);
|
|
42
|
-
this._specialSymbolArray.push([/&/g, '&']);
|
|
43
|
-
this._specialSymbolArray.push([/"/g, '"']);
|
|
44
|
-
this._specialSymbolArray.push([/'/g, "'"]);
|
|
45
|
-
this._specialSymbolArray.push([/ /g, ' ']);
|
|
46
|
-
};
|
|
47
|
-
exports.HtmlTextParser = HtmlTextParser;
|
|
48
|
-
exports.HtmlTextParser.prototype = {
|
|
49
|
-
constructor: exports.HtmlTextParser,
|
|
50
|
-
parse: function (htmlString) {
|
|
51
|
-
this._resultObjectArray = [];
|
|
52
|
-
if (!htmlString) {
|
|
53
|
-
return this._resultObjectArray;
|
|
54
|
-
}
|
|
55
|
-
this._stack = [];
|
|
56
|
-
let startIndex = 0;
|
|
57
|
-
const length = htmlString.length;
|
|
58
|
-
while (startIndex < length) {
|
|
59
|
-
let tagEndIndex = htmlString.indexOf('>', startIndex);
|
|
60
|
-
let tagBeginIndex = -1;
|
|
61
|
-
if (tagEndIndex >= 0) {
|
|
62
|
-
tagBeginIndex = htmlString.lastIndexOf('<', tagEndIndex);
|
|
63
|
-
const noTagBegin = tagBeginIndex < startIndex - 1;
|
|
64
|
-
if (noTagBegin) {
|
|
65
|
-
tagBeginIndex = htmlString.indexOf('<', tagEndIndex + 1);
|
|
66
|
-
tagEndIndex = htmlString.indexOf('>', tagBeginIndex + 1);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (tagBeginIndex < 0) {
|
|
70
|
-
this._stack.pop();
|
|
71
|
-
this._processResult(htmlString.substring(startIndex));
|
|
72
|
-
startIndex = length;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
let newStr = htmlString.substring(startIndex, tagBeginIndex);
|
|
76
|
-
const tagStr = htmlString.substring(tagBeginIndex + 1, tagEndIndex);
|
|
77
|
-
if (tagStr === '')
|
|
78
|
-
newStr = htmlString.substring(startIndex, tagEndIndex + 1);
|
|
79
|
-
this._processResult(newStr);
|
|
80
|
-
if (tagEndIndex === -1) {
|
|
81
|
-
// cc.error('The HTML tag is invalid!');
|
|
82
|
-
tagEndIndex = tagBeginIndex;
|
|
83
|
-
}
|
|
84
|
-
else if (htmlString.charAt(tagBeginIndex + 1) === '/') {
|
|
85
|
-
this._stack.pop();
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
this._addToStack(tagStr);
|
|
89
|
-
}
|
|
90
|
-
startIndex = tagEndIndex + 1;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return this._resultObjectArray;
|
|
94
|
-
},
|
|
95
|
-
_attributeToObject: function (attribute) {
|
|
96
|
-
attribute = attribute.trim();
|
|
97
|
-
const obj = {};
|
|
98
|
-
let header = attribute.match(/^(color|size)(\s)*=/);
|
|
99
|
-
let tagName;
|
|
100
|
-
let nextSpace;
|
|
101
|
-
let eventObj;
|
|
102
|
-
let eventHanlderString;
|
|
103
|
-
if (header) {
|
|
104
|
-
tagName = header[0];
|
|
105
|
-
attribute = attribute.substring(tagName.length).trim();
|
|
106
|
-
if (attribute === '')
|
|
107
|
-
return obj;
|
|
108
|
-
//parse color
|
|
109
|
-
nextSpace = attribute.indexOf(' ');
|
|
110
|
-
switch (tagName[0]) {
|
|
111
|
-
case 'c':
|
|
112
|
-
if (nextSpace > -1) {
|
|
113
|
-
obj.color = attribute.substring(0, nextSpace).trim();
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
obj.color = attribute;
|
|
117
|
-
}
|
|
118
|
-
break;
|
|
119
|
-
case 's':
|
|
120
|
-
obj.size = parseInt(attribute);
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
//tag has event arguments
|
|
124
|
-
if (nextSpace > -1) {
|
|
125
|
-
eventHanlderString = attribute.substring(nextSpace + 1).trim();
|
|
126
|
-
eventObj = this._processEventHandler(eventHanlderString);
|
|
127
|
-
obj.event = eventObj;
|
|
128
|
-
}
|
|
129
|
-
return obj;
|
|
130
|
-
}
|
|
131
|
-
header = attribute.match(/^(br(\s)*\/)/);
|
|
132
|
-
if (header && header[0].length > 0) {
|
|
133
|
-
tagName = header[0].trim();
|
|
134
|
-
if (tagName.startsWith('br') && tagName[tagName.length - 1] === '/') {
|
|
135
|
-
obj.isNewLine = true;
|
|
136
|
-
this._resultObjectArray.push({ text: '', style: { newline: true } });
|
|
137
|
-
return obj;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
header = attribute.match(/^(img(\s)*src(\s)*=[^>]+\/)/);
|
|
141
|
-
if (header && header[0].length > 0) {
|
|
142
|
-
tagName = header[0].trim();
|
|
143
|
-
if (tagName.startsWith('img') && tagName[tagName.length - 1] === '/') {
|
|
144
|
-
header = attribute.match(imageAttrReg);
|
|
145
|
-
var tagValue;
|
|
146
|
-
var remainingArgument;
|
|
147
|
-
let isValidImageTag = false;
|
|
148
|
-
while (header) {
|
|
149
|
-
//skip the invalid tags at first
|
|
150
|
-
attribute = attribute.substring(attribute.indexOf(header[0]));
|
|
151
|
-
tagName = attribute.substr(0, header[0].length);
|
|
152
|
-
//remove space and = character
|
|
153
|
-
remainingArgument = attribute.substring(tagName.length).trim();
|
|
154
|
-
nextSpace = remainingArgument.indexOf(' ');
|
|
155
|
-
tagValue = nextSpace > -1 ? remainingArgument.substr(0, nextSpace) : remainingArgument;
|
|
156
|
-
tagName = tagName.replace(/[^a-zA-Z]/g, '').trim();
|
|
157
|
-
tagName = tagName.toLocaleLowerCase();
|
|
158
|
-
attribute = remainingArgument.substring(nextSpace).trim();
|
|
159
|
-
if (tagValue.endsWith('/'))
|
|
160
|
-
tagValue = tagValue.slice(0, -1);
|
|
161
|
-
if (tagName === 'src') {
|
|
162
|
-
switch (tagValue.charCodeAt(0)) {
|
|
163
|
-
case 34: // "
|
|
164
|
-
case 39: // '
|
|
165
|
-
isValidImageTag = true;
|
|
166
|
-
tagValue = tagValue.slice(1, -1);
|
|
167
|
-
break;
|
|
168
|
-
}
|
|
169
|
-
obj.isImage = true;
|
|
170
|
-
obj.src = tagValue;
|
|
171
|
-
}
|
|
172
|
-
else if (tagName === 'height') {
|
|
173
|
-
obj.imageHeight = parseInt(tagValue);
|
|
174
|
-
}
|
|
175
|
-
else if (tagName === 'width') {
|
|
176
|
-
obj.imageWidth = parseInt(tagValue);
|
|
177
|
-
}
|
|
178
|
-
else if (tagName === 'align') {
|
|
179
|
-
switch (tagValue.charCodeAt(0)) {
|
|
180
|
-
case 34: // "
|
|
181
|
-
case 39: // '
|
|
182
|
-
tagValue = tagValue.slice(1, -1);
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
obj.imageAlign = tagValue.toLocaleLowerCase();
|
|
186
|
-
}
|
|
187
|
-
else if (tagName === 'offset') {
|
|
188
|
-
obj.imageOffset = tagValue;
|
|
189
|
-
}
|
|
190
|
-
else if (tagName === 'click') {
|
|
191
|
-
obj.event = this._processEventHandler(`${tagName}=${tagValue}`);
|
|
192
|
-
}
|
|
193
|
-
if (obj.event && tagName === 'param') {
|
|
194
|
-
obj.event.param = tagValue.replace(/^\"|\"$/g, '');
|
|
195
|
-
}
|
|
196
|
-
header = attribute.match(imageAttrReg);
|
|
197
|
-
}
|
|
198
|
-
if (isValidImageTag && obj.isImage) {
|
|
199
|
-
this._resultObjectArray.push({ text: '', style: obj });
|
|
200
|
-
}
|
|
201
|
-
return {};
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
header = attribute.match(/^(outline(\s)*[^>]*)/);
|
|
205
|
-
if (header) {
|
|
206
|
-
attribute = header[0].substring('outline'.length).trim();
|
|
207
|
-
const defaultOutlineObject = { color: '#ffffff', width: 1 };
|
|
208
|
-
if (attribute) {
|
|
209
|
-
const outlineAttrReg = /(\s)*color(\s)*=|(\s)*width(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;
|
|
210
|
-
header = attribute.match(outlineAttrReg);
|
|
211
|
-
var tagValue;
|
|
212
|
-
while (header) {
|
|
213
|
-
//skip the invalid tags at first
|
|
214
|
-
attribute = attribute.substring(attribute.indexOf(header[0]));
|
|
215
|
-
tagName = attribute.substr(0, header[0].length);
|
|
216
|
-
//remove space and = character
|
|
217
|
-
remainingArgument = attribute.substring(tagName.length).trim();
|
|
218
|
-
nextSpace = remainingArgument.indexOf(' ');
|
|
219
|
-
if (nextSpace > -1) {
|
|
220
|
-
tagValue = remainingArgument.substr(0, nextSpace);
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
tagValue = remainingArgument;
|
|
224
|
-
}
|
|
225
|
-
tagName = tagName.replace(/[^a-zA-Z]/g, '').trim();
|
|
226
|
-
tagName = tagName.toLocaleLowerCase();
|
|
227
|
-
attribute = remainingArgument.substring(nextSpace).trim();
|
|
228
|
-
if (tagName === 'click') {
|
|
229
|
-
obj.event = this._processEventHandler(`${tagName}=${tagValue}`);
|
|
230
|
-
}
|
|
231
|
-
else if (tagName === 'color') {
|
|
232
|
-
defaultOutlineObject.color = tagValue;
|
|
233
|
-
}
|
|
234
|
-
else if (tagName === 'width') {
|
|
235
|
-
defaultOutlineObject.width = parseInt(tagValue);
|
|
236
|
-
}
|
|
237
|
-
if (obj.event && tagName === 'param') {
|
|
238
|
-
obj.event.param = tagValue.replace(/^\"|\"$/g, '');
|
|
239
|
-
}
|
|
240
|
-
header = attribute.match(outlineAttrReg);
|
|
241
|
-
}
|
|
1
|
+
export function parseFontString(input) {
|
|
2
|
+
const regex = /<font\s+color=['"](#?[0-9a-fA-F]{6})['"](?:\s+size=(\d+))?>(.*?)<\/font>/gi;
|
|
3
|
+
const results = [];
|
|
4
|
+
let lastIndex = 0;
|
|
5
|
+
let match;
|
|
6
|
+
while ((match = regex.exec(input)) !== null) {
|
|
7
|
+
// Add plain text before the match if it exists
|
|
8
|
+
if (match.index > lastIndex) {
|
|
9
|
+
const plainText = input.slice(lastIndex, match.index);
|
|
10
|
+
if (plainText) {
|
|
11
|
+
results.push({ text: plainText });
|
|
242
12
|
}
|
|
243
|
-
obj.outline = defaultOutlineObject;
|
|
244
13
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
case 'b':
|
|
257
|
-
obj.bold = true;
|
|
258
|
-
break;
|
|
259
|
-
}
|
|
260
|
-
if (attribute === '') {
|
|
261
|
-
return obj;
|
|
262
|
-
}
|
|
263
|
-
eventObj = this._processEventHandler(attribute);
|
|
264
|
-
obj.event = eventObj;
|
|
265
|
-
}
|
|
266
|
-
return obj;
|
|
267
|
-
},
|
|
268
|
-
_processEventHandler: function (eventString) {
|
|
269
|
-
let index = 0;
|
|
270
|
-
const obj = {};
|
|
271
|
-
let eventNames = eventString.match(eventRegx);
|
|
272
|
-
let isValidTag = false;
|
|
273
|
-
while (eventNames) {
|
|
274
|
-
let eventName = eventNames[0];
|
|
275
|
-
let eventValue = '';
|
|
276
|
-
isValidTag = false;
|
|
277
|
-
eventString = eventString.substring(eventName.length).trim();
|
|
278
|
-
if (eventString.charAt(0) === '"') {
|
|
279
|
-
index = eventString.indexOf('"', 1);
|
|
280
|
-
if (index > -1) {
|
|
281
|
-
eventValue = eventString.substring(1, index).trim();
|
|
282
|
-
isValidTag = true;
|
|
283
|
-
}
|
|
284
|
-
index++;
|
|
285
|
-
}
|
|
286
|
-
else if (eventString.charAt(0) === '\'') {
|
|
287
|
-
index = eventString.indexOf('\'', 1);
|
|
288
|
-
if (index > -1) {
|
|
289
|
-
eventValue = eventString.substring(1, index).trim();
|
|
290
|
-
isValidTag = true;
|
|
291
|
-
}
|
|
292
|
-
index++;
|
|
293
|
-
}
|
|
294
|
-
else {
|
|
295
|
-
//skip the invalid attribute value
|
|
296
|
-
const match = eventString.match(/(\S)+/);
|
|
297
|
-
if (match) {
|
|
298
|
-
eventValue = match[0];
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
eventValue = '';
|
|
302
|
-
}
|
|
303
|
-
index = eventValue.length;
|
|
304
|
-
}
|
|
305
|
-
if (isValidTag) {
|
|
306
|
-
eventName = eventName.substring(0, eventName.length - 1).trim();
|
|
307
|
-
obj[eventName] = eventValue;
|
|
308
|
-
}
|
|
309
|
-
eventString = eventString.substring(index).trim();
|
|
310
|
-
eventNames = eventString.match(eventRegx);
|
|
14
|
+
const color = match[1];
|
|
15
|
+
const size = match[2] ? parseInt(match[2], 10) : undefined;
|
|
16
|
+
const text = match[3];
|
|
17
|
+
results.push({ color, size, text });
|
|
18
|
+
lastIndex = regex.lastIndex;
|
|
19
|
+
}
|
|
20
|
+
// Add remaining plain text after the last match
|
|
21
|
+
if (lastIndex < input.length) {
|
|
22
|
+
const plainText = input.slice(lastIndex);
|
|
23
|
+
if (plainText) {
|
|
24
|
+
results.push({ text: plainText });
|
|
311
25
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
26
|
+
}
|
|
27
|
+
return results;
|
|
28
|
+
}
|
|
29
|
+
export function transformToStyledElements(parsed) {
|
|
30
|
+
return parsed.map((item, index) => {
|
|
31
|
+
if (item.color || item.size) {
|
|
32
|
+
return {
|
|
33
|
+
tag: `b${index + 1}`,
|
|
34
|
+
style: { color: item.color, size: item.size },
|
|
35
|
+
text: item.text,
|
|
36
|
+
};
|
|
318
37
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
}
|
|
330
|
-
this._stack.push(obj);
|
|
38
|
+
return {
|
|
39
|
+
text: item.text,
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
export function generateStringFromStyledElements(elements) {
|
|
44
|
+
return elements
|
|
45
|
+
.map((element) => {
|
|
46
|
+
if (!element.tag) {
|
|
47
|
+
return element.text;
|
|
331
48
|
}
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
49
|
+
return `<${element.tag}>${element.text}</${element.tag}>`;
|
|
50
|
+
})
|
|
51
|
+
.join('');
|
|
52
|
+
}
|
|
53
|
+
export function generateStylesFromStyledElements(elements) {
|
|
54
|
+
const styles = {};
|
|
55
|
+
elements
|
|
56
|
+
.forEach((element) => {
|
|
57
|
+
const { tag, style } = element;
|
|
58
|
+
if (!tag) {
|
|
335
59
|
return;
|
|
336
60
|
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
else {
|
|
342
|
-
this._resultObjectArray.push({ text: value });
|
|
343
|
-
}
|
|
344
|
-
},
|
|
345
|
-
_escapeSpecialSymbol: function (str) {
|
|
346
|
-
for (let i = 0; i < this._specialSymbolArray.length; ++i) {
|
|
347
|
-
const key = this._specialSymbolArray[i][0];
|
|
348
|
-
const value = this._specialSymbolArray[i][1];
|
|
349
|
-
str = str.replace(key, value);
|
|
350
|
-
}
|
|
351
|
-
return str;
|
|
352
|
-
},
|
|
353
|
-
};
|
|
61
|
+
styles[element.tag] = style;
|
|
62
|
+
});
|
|
63
|
+
return styles;
|
|
64
|
+
}
|
package/dist/helper/utils.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Constructor, EntityManager, EventManager, EventReceive } from 'entityx-ts';
|
|
1
|
+
import { Constructor, EntityManager, EventManager } from 'entityx-ts';
|
|
3
2
|
import { Point } from 'pixi.js';
|
|
3
|
+
import { EnhancedComponent, GameWorld } from '../base';
|
|
4
4
|
export declare function v2(x?: number, y?: number): Point;
|
|
5
5
|
export declare function getDistance(point1: Point, point2: Point): number;
|
|
6
6
|
export declare function registerSystem<T extends EnhancedComponent<any>>(component: Constructor<T>): {
|
|
7
7
|
new (): {
|
|
8
8
|
configure(event_manager: EventManager<GameWorld>): void;
|
|
9
|
-
receiveComponentAddedEvent(event: EventReceive<T>): void;
|
|
10
9
|
update(entities: EntityManager, events: EventManager<GameWorld>, dt: number): void;
|
|
11
10
|
};
|
|
12
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/helper/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/helper/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAoC,MAAM,YAAY,CAAC;AACxG,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIvD,wBAAgB,EAAE,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI,SAE9B;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,UAIvD;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;;iCAK7D,YAAY,CAAC,SAAS,CAAC;yBAU/B,aAAa,UAAU,YAAY,CAAC,SAAS,CAAC,MAAM,MAAM;;EAe9E"}
|
package/dist/helper/utils.js
CHANGED
|
@@ -1,33 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const entityx_ts_1 = require("entityx-ts");
|
|
8
|
-
const pixi_js_1 = require("pixi.js");
|
|
9
|
-
const NodeComp_1 = require("../components/NodeComp");
|
|
10
|
-
function v2(x = 0, y = 0) {
|
|
11
|
-
return new pixi_js_1.Point(x, y);
|
|
1
|
+
import { EventTypes } from 'entityx-ts';
|
|
2
|
+
import { Point } from 'pixi.js';
|
|
3
|
+
import { GameWorld } from '../base';
|
|
4
|
+
import { NodeComp } from '../components/NodeComp';
|
|
5
|
+
export function v2(x = 0, y = 0) {
|
|
6
|
+
return new Point(x, y);
|
|
12
7
|
}
|
|
13
|
-
function getDistance(point1, point2) {
|
|
8
|
+
export function getDistance(point1, point2) {
|
|
14
9
|
const dx = point2.x - point1.x;
|
|
15
10
|
const dy = point2.y - point1.y;
|
|
16
11
|
return Math.sqrt(dx * dx + dy * dy);
|
|
17
12
|
}
|
|
18
|
-
function registerSystem(component) {
|
|
19
|
-
if (
|
|
13
|
+
export function registerSystem(component) {
|
|
14
|
+
if (GameWorld.Instance.systems.isRegistered(`${component.name}System`)) {
|
|
20
15
|
return;
|
|
21
16
|
}
|
|
22
17
|
class NewSystem {
|
|
23
18
|
configure(event_manager) {
|
|
24
19
|
console.log('configure registerSystem core', component.name);
|
|
25
|
-
event_manager.subscribe(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
event_manager.subscribe(EventTypes.ComponentAdded, component, (event) => {
|
|
21
|
+
// console.log('receiveComponentAddedEvent', event)
|
|
22
|
+
const ett = event.entity;
|
|
23
|
+
const newComp = ett.getComponent(component);
|
|
24
|
+
newComp.node = ett.getComponent(NodeComp);
|
|
25
|
+
});
|
|
31
26
|
}
|
|
32
27
|
update(entities, events, dt) {
|
|
33
28
|
for (const entt of entities.entities_with_components(component)) {
|
|
@@ -40,8 +35,8 @@ function registerSystem(component) {
|
|
|
40
35
|
}
|
|
41
36
|
}
|
|
42
37
|
Object.defineProperty(NewSystem, 'name', { value: `${component.name}System` });
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
GameWorld.Instance.systems.add(NewSystem);
|
|
39
|
+
GameWorld.Instance.systems.configureOnce(NewSystem);
|
|
40
|
+
GameWorld.Instance.listUpdate.push(NewSystem);
|
|
46
41
|
return NewSystem;
|
|
47
42
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
|
+
export * from 'pixi-action-ease';
|
|
2
|
+
export * from 'pixi.js';
|
|
3
|
+
export { Vec2 } from 'planck';
|
|
1
4
|
export * from './app';
|
|
5
|
+
export * from './base';
|
|
6
|
+
export * from './collider';
|
|
2
7
|
export * from './components/BaseComponent';
|
|
3
|
-
export * from './components/GUIComponent';
|
|
4
8
|
export * from './components/NodeComp';
|
|
5
|
-
export * from './components/RenderComponent';
|
|
6
9
|
export * from './components/Scene';
|
|
7
10
|
export * from './core/Color';
|
|
8
|
-
export * from './core/
|
|
11
|
+
export * from './core/director';
|
|
12
|
+
export * from './core/math';
|
|
13
|
+
export * from './core/NodePool';
|
|
14
|
+
export * from './dragonbones';
|
|
15
|
+
export * from './gui/GUIComponent';
|
|
16
|
+
export * from './gui/GUISystem';
|
|
9
17
|
export * from './helper/utils';
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
12
|
-
export * from '
|
|
18
|
+
export * from './norender/NoRenderComponent';
|
|
19
|
+
export * from './planck';
|
|
20
|
+
export * from './render/RenderComponent';
|
|
21
|
+
export * from './render/RenderSystem';
|
|
22
|
+
export * from './spine';
|
|
13
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,UAAU,CAAA;AACxB,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
__exportStar(require("./core/Color"), exports);
|
|
24
|
-
__exportStar(require("./core/Size"), exports);
|
|
25
|
-
__exportStar(require("./helper/utils"), exports);
|
|
26
|
-
__exportStar(require("./systems/GUISystem"), exports);
|
|
27
|
-
__exportStar(require("./systems/RenderSystem"), exports);
|
|
28
|
-
__exportStar(require("@safe-engine/core"), exports);
|
|
1
|
+
export * from 'pixi-action-ease';
|
|
2
|
+
export * from 'pixi.js';
|
|
3
|
+
export { Vec2 } from 'planck';
|
|
4
|
+
export * from './app';
|
|
5
|
+
export * from './base';
|
|
6
|
+
export * from './collider';
|
|
7
|
+
export * from './components/BaseComponent';
|
|
8
|
+
export * from './components/NodeComp';
|
|
9
|
+
export * from './components/Scene';
|
|
10
|
+
export * from './core/Color';
|
|
11
|
+
export * from './core/director';
|
|
12
|
+
export * from './core/math';
|
|
13
|
+
export * from './core/NodePool';
|
|
14
|
+
export * from './dragonbones';
|
|
15
|
+
export * from './gui/GUIComponent';
|
|
16
|
+
export * from './gui/GUISystem';
|
|
17
|
+
export * from './helper/utils';
|
|
18
|
+
export * from './norender/NoRenderComponent';
|
|
19
|
+
export * from './planck';
|
|
20
|
+
export * from './render/RenderComponent';
|
|
21
|
+
export * from './render/RenderSystem';
|
|
22
|
+
export * from './spine';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { FederatedPointerEvent } from 'pixi.js';
|
|
2
|
+
import { ExtraDataProps, TouchEventProps } from '../../@types/safex';
|
|
3
|
+
import { NoRenderComponentX } from '../components/BaseComponent';
|
|
4
|
+
import { EventCallbackType, EventMap, NodeComp } from '../components/NodeComp';
|
|
5
|
+
export declare class Touch extends FederatedPointerEvent {
|
|
6
|
+
}
|
|
7
|
+
export type TouchEventCallback = (touch?: Touch, node?: NodeComp) => void;
|
|
8
|
+
export declare class EventRegister extends NoRenderComponentX {
|
|
9
|
+
events: EventMap;
|
|
10
|
+
on(name: string, callback: EventCallbackType, target?: any): void;
|
|
11
|
+
off(name: string, callback?: EventCallbackType, target?: any): any;
|
|
12
|
+
emit(name: string, ...params: any): void;
|
|
13
|
+
}
|
|
14
|
+
export declare class TouchEventRegister extends NoRenderComponentX<TouchEventProps> {
|
|
15
|
+
onTouchStart?: TouchEventCallback;
|
|
16
|
+
onTouchMove?: TouchEventCallback;
|
|
17
|
+
onTouchEnd?: TouchEventCallback;
|
|
18
|
+
onTouchCancel?: TouchEventCallback;
|
|
19
|
+
listener: EventListener;
|
|
20
|
+
touch: Touch;
|
|
21
|
+
setOnTouchStart(cb: TouchEventCallback): void;
|
|
22
|
+
setOnTouchMove(cb: TouchEventCallback): void;
|
|
23
|
+
setOnTouchEnd(cb: TouchEventCallback): void;
|
|
24
|
+
setOnTouchCancel(cb: TouchEventCallback): void;
|
|
25
|
+
}
|
|
26
|
+
export declare class ExtraDataComp extends NoRenderComponentX<ExtraDataProps> {
|
|
27
|
+
key: string;
|
|
28
|
+
value: any;
|
|
29
|
+
data: {
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
};
|
|
32
|
+
getData<T>(key: string): T;
|
|
33
|
+
setData<T>(key: string, val: T): void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=NoRenderComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoRenderComponent.d.ts","sourceRoot":"","sources":["../../src/norender/NoRenderComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAE9E,qBAAa,KAAM,SAAQ,qBAAqB;CAG/C;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;AAEzE,qBAAa,aAAc,SAAQ,kBAAkB;IACnD,MAAM,EAAE,QAAQ,CAAK;IAErB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,GAAG;IAS1D,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,GAAG;IAK5D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG;CAKlC;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IACzE,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAC/B,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAClC,QAAQ,EAAE,aAAa,CAAA;IACvB,KAAK,EAAE,KAAK,CAAA;IAEZ,eAAe,CAAC,EAAE,EAAE,kBAAkB;IAItC,cAAc,CAAC,EAAE,EAAE,kBAAkB;IAIrC,aAAa,CAAC,EAAE,EAAE,kBAAkB;IAIpC,gBAAgB,CAAC,EAAE,EAAE,kBAAkB;CAGxC;AAED,qBAAa,aAAc,SAAQ,kBAAkB,CAAC,cAAc,CAAC;IACnE,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,GAAG,CAAA;IACV,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAK;IAEjC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;IAG1B,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;CAG/B"}
|