@safe-engine/pixi 8.1.3 → 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.
Files changed (162) hide show
  1. package/@types/index.d.ts +2 -0
  2. package/@types/safex.d.ts +168 -0
  3. package/README.md +9 -3
  4. package/dist/app.d.ts +1 -2
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +25 -24
  7. package/dist/base/EnhancedComponent.d.ts +25 -0
  8. package/dist/base/EnhancedComponent.d.ts.map +1 -0
  9. package/dist/base/EnhancedComponent.js +26 -0
  10. package/dist/base/gworld.d.ts +8 -0
  11. package/dist/base/gworld.d.ts.map +1 -0
  12. package/dist/base/gworld.js +16 -0
  13. package/dist/base/index.d.ts +4 -0
  14. package/dist/base/index.d.ts.map +1 -0
  15. package/dist/base/index.js +3 -0
  16. package/dist/base/utils.d.ts +6 -0
  17. package/dist/base/utils.d.ts.map +1 -0
  18. package/dist/base/utils.js +3 -0
  19. package/dist/collider/CollideComponent.d.ts +63 -0
  20. package/dist/collider/CollideComponent.d.ts.map +1 -0
  21. package/dist/collider/CollideComponent.js +238 -0
  22. package/dist/collider/CollideSystem.d.ts +26 -0
  23. package/dist/collider/CollideSystem.d.ts.map +1 -0
  24. package/dist/collider/CollideSystem.js +159 -0
  25. package/dist/collider/helper/Intersection.d.ts +7 -0
  26. package/dist/collider/helper/Intersection.d.ts.map +1 -0
  27. package/dist/collider/helper/Intersection.js +111 -0
  28. package/dist/collider/helper/utils.d.ts +3 -0
  29. package/dist/collider/helper/utils.d.ts.map +1 -0
  30. package/dist/collider/helper/utils.js +11 -0
  31. package/dist/collider/index.d.ts +3 -0
  32. package/dist/collider/index.d.ts.map +1 -0
  33. package/dist/collider/index.js +2 -0
  34. package/dist/components/BaseComponent.d.ts +6 -5
  35. package/dist/components/BaseComponent.d.ts.map +1 -1
  36. package/dist/components/BaseComponent.js +7 -9
  37. package/dist/components/NodeComp.d.ts +13 -13
  38. package/dist/components/NodeComp.d.ts.map +1 -1
  39. package/dist/components/NodeComp.js +34 -30
  40. package/dist/components/Scene.d.ts +2 -3
  41. package/dist/components/Scene.d.ts.map +1 -1
  42. package/dist/components/Scene.js +6 -10
  43. package/dist/core/Color.d.ts +1 -0
  44. package/dist/core/Color.d.ts.map +1 -1
  45. package/dist/core/Color.js +3 -6
  46. package/dist/core/LoadingBar.js +10 -15
  47. package/dist/core/NodePool.d.ts +9 -0
  48. package/dist/core/NodePool.d.ts.map +1 -0
  49. package/dist/core/NodePool.js +24 -0
  50. package/dist/core/Size.js +1 -4
  51. package/dist/core/director.d.ts +3 -0
  52. package/dist/core/director.d.ts.map +1 -0
  53. package/dist/core/director.js +7 -0
  54. package/dist/core/math.d.ts +4 -0
  55. package/dist/core/math.d.ts.map +1 -0
  56. package/dist/core/math.js +10 -0
  57. package/dist/dragonbones/DragonBonesComponent.d.ts +17 -0
  58. package/dist/dragonbones/DragonBonesComponent.d.ts.map +1 -0
  59. package/dist/dragonbones/DragonBonesComponent.js +18 -0
  60. package/dist/dragonbones/DragonBonesSystem.d.ts +6 -0
  61. package/dist/dragonbones/DragonBonesSystem.d.ts.map +1 -0
  62. package/dist/dragonbones/DragonBonesSystem.js +29 -0
  63. package/dist/dragonbones/index.d.ts +3 -0
  64. package/dist/dragonbones/index.d.ts.map +1 -0
  65. package/dist/dragonbones/index.js +2 -0
  66. package/dist/{components → gui}/GUIComponent.d.ts +29 -23
  67. package/dist/gui/GUIComponent.d.ts.map +1 -0
  68. package/dist/gui/GUIComponent.js +123 -0
  69. package/dist/{systems → gui}/GUISystem.d.ts +1 -1
  70. package/dist/gui/GUISystem.d.ts.map +1 -0
  71. package/dist/gui/GUISystem.js +100 -0
  72. package/dist/helper/html-text-parser.d.ts +19 -29
  73. package/dist/helper/html-text-parser.d.ts.map +1 -1
  74. package/dist/helper/html-text-parser.js +57 -346
  75. package/dist/helper/utils.d.ts +2 -3
  76. package/dist/helper/utils.d.ts.map +1 -1
  77. package/dist/helper/utils.js +18 -23
  78. package/dist/index.d.ts +16 -6
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +22 -28
  81. package/dist/norender/NoRenderComponent.d.ts +35 -0
  82. package/dist/norender/NoRenderComponent.d.ts.map +1 -0
  83. package/dist/norender/NoRenderComponent.js +53 -0
  84. package/dist/norender/NoRenderSystem.d.ts +5 -0
  85. package/dist/norender/NoRenderSystem.d.ts.map +1 -0
  86. package/dist/norender/NoRenderSystem.js +57 -0
  87. package/dist/planck/PhysicsComponent.d.ts +37 -0
  88. package/dist/planck/PhysicsComponent.d.ts.map +1 -0
  89. package/dist/planck/PhysicsComponent.js +52 -0
  90. package/dist/planck/PhysicsSprite.d.ts +16 -0
  91. package/dist/planck/PhysicsSprite.d.ts.map +1 -0
  92. package/dist/planck/PhysicsSprite.js +31 -0
  93. package/dist/planck/PhysicsSystem.d.ts +20 -0
  94. package/dist/planck/PhysicsSystem.d.ts.map +1 -0
  95. package/dist/planck/PhysicsSystem.js +187 -0
  96. package/dist/planck/index.d.ts +4 -0
  97. package/dist/planck/index.d.ts.map +1 -0
  98. package/dist/planck/index.js +3 -0
  99. package/dist/render/RenderComponent.d.ts +52 -0
  100. package/dist/render/RenderComponent.d.ts.map +1 -0
  101. package/dist/render/RenderComponent.js +104 -0
  102. package/dist/render/RenderSystem.d.ts.map +1 -0
  103. package/dist/render/RenderSystem.js +65 -0
  104. package/dist/spine/SpineComponent.d.ts +10 -0
  105. package/dist/spine/SpineComponent.d.ts.map +1 -0
  106. package/dist/spine/SpineComponent.js +3 -0
  107. package/dist/spine/SpineSystem.d.ts +5 -0
  108. package/dist/spine/SpineSystem.d.ts.map +1 -0
  109. package/dist/spine/SpineSystem.js +25 -0
  110. package/dist/spine/index.d.ts +3 -0
  111. package/dist/spine/index.d.ts.map +1 -0
  112. package/dist/spine/index.js +2 -0
  113. package/dist/spine/lib/BatchableSpineSlot.d.ts +59 -0
  114. package/dist/spine/lib/BatchableSpineSlot.d.ts.map +1 -0
  115. package/dist/spine/lib/BatchableSpineSlot.js +86 -0
  116. package/dist/spine/lib/Spine.d.ts +239 -0
  117. package/dist/spine/lib/Spine.d.ts.map +1 -0
  118. package/dist/spine/lib/Spine.js +628 -0
  119. package/dist/spine/lib/SpineDebugRenderer.d.ts +109 -0
  120. package/dist/spine/lib/SpineDebugRenderer.d.ts.map +1 -0
  121. package/dist/spine/lib/SpineDebugRenderer.js +474 -0
  122. package/dist/spine/lib/SpinePipe.d.ts +49 -0
  123. package/dist/spine/lib/SpinePipe.d.ts.map +1 -0
  124. package/dist/spine/lib/SpinePipe.js +148 -0
  125. package/dist/spine/lib/SpineTexture.d.ts +45 -0
  126. package/dist/spine/lib/SpineTexture.d.ts.map +1 -0
  127. package/dist/spine/lib/SpineTexture.js +114 -0
  128. package/dist/spine/lib/assets/atlasLoader.d.ts +34 -0
  129. package/dist/spine/lib/assets/atlasLoader.d.ts.map +1 -0
  130. package/dist/spine/lib/assets/atlasLoader.js +122 -0
  131. package/dist/spine/lib/assets/skeletonLoader.d.ts +30 -0
  132. package/dist/spine/lib/assets/skeletonLoader.d.ts.map +1 -0
  133. package/dist/spine/lib/assets/skeletonLoader.js +70 -0
  134. package/dist/spine/lib/darktint/DarkTintBatchGeometry.d.ts +33 -0
  135. package/dist/spine/lib/darktint/DarkTintBatchGeometry.d.ts.map +1 -0
  136. package/dist/spine/lib/darktint/DarkTintBatchGeometry.js +84 -0
  137. package/dist/spine/lib/darktint/DarkTintBatcher.d.ts +50 -0
  138. package/dist/spine/lib/darktint/DarkTintBatcher.d.ts.map +1 -0
  139. package/dist/spine/lib/darktint/DarkTintBatcher.js +131 -0
  140. package/dist/spine/lib/darktint/DarkTintShader.d.ts +33 -0
  141. package/dist/spine/lib/darktint/DarkTintShader.d.ts.map +1 -0
  142. package/dist/spine/lib/darktint/DarkTintShader.js +59 -0
  143. package/dist/spine/lib/darktint/darkTintBit.d.ts +51 -0
  144. package/dist/spine/lib/darktint/darkTintBit.d.ts.map +1 -0
  145. package/dist/spine/lib/darktint/darkTintBit.js +75 -0
  146. package/dist/spine/lib/index.d.ts +42 -0
  147. package/dist/spine/lib/index.d.ts.map +1 -0
  148. package/dist/spine/lib/index.js +41 -0
  149. package/dist/spine/lib/require-shim.d.ts +34 -0
  150. package/dist/spine/lib/require-shim.d.ts.map +1 -0
  151. package/dist/spine/lib/require-shim.js +38 -0
  152. package/package.json +12 -9
  153. package/dist/components/GUIComponent.d.ts.map +0 -1
  154. package/dist/components/GUIComponent.js +0 -126
  155. package/dist/components/RenderComponent.d.ts +0 -29
  156. package/dist/components/RenderComponent.d.ts.map +0 -1
  157. package/dist/components/RenderComponent.js +0 -58
  158. package/dist/systems/GUISystem.d.ts.map +0 -1
  159. package/dist/systems/GUISystem.js +0 -90
  160. package/dist/systems/RenderSystem.d.ts.map +0 -1
  161. package/dist/systems/RenderSystem.js +0 -67
  162. /package/dist/{systems → render}/RenderSystem.d.ts +0 -0
@@ -1,353 +1,64 @@
1
- "use strict";
2
- /* eslint-disable no-var */
3
- /* eslint-disable quotes */
4
- /* eslint-disable no-useless-escape */
5
- /****************************************************************************
6
- Copyright (c) 2013-2016 Chukong Technologies Inc.
7
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
8
-
9
- https://www.cocos.com/
10
-
11
- Permission is hereby granted, free of charge, to any person obtaining a copy
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([/&lt;/g, '<']);
41
- this._specialSymbolArray.push([/&gt;/g, '>']);
42
- this._specialSymbolArray.push([/&amp;/g, '&']);
43
- this._specialSymbolArray.push([/&quot;/g, '"']);
44
- this._specialSymbolArray.push([/&apos;/g, "'"]);
45
- this._specialSymbolArray.push([/&nbsp;/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
- header = attribute.match(/^(on|u|b|i)(\s)*/);
246
- if (header && header[0].length > 0) {
247
- tagName = header[0];
248
- attribute = attribute.substring(tagName.length).trim();
249
- switch (tagName[0]) {
250
- case 'u':
251
- obj.underline = true;
252
- break;
253
- case 'i':
254
- obj.italic = true;
255
- break;
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
- return obj;
313
- },
314
- _addToStack: function (attribute) {
315
- const obj = this._attributeToObject(attribute);
316
- if (this._stack.length === 0) {
317
- this._stack.push(obj);
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
- else {
320
- if (obj.isNewLine || obj.isImage) {
321
- return;
322
- }
323
- //for nested tags
324
- const previousTagObj = this._stack[this._stack.length - 1];
325
- for (const key in previousTagObj) {
326
- if (!obj[key]) {
327
- obj[key] = previousTagObj[key];
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
- _processResult: function (value) {
334
- if (value === '') {
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
- value = this._escapeSpecialSymbol(value);
338
- if (this._stack.length > 0) {
339
- this._resultObjectArray.push({ text: value, style: this._stack[this._stack.length - 1] });
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
+ }
@@ -1,12 +1,11 @@
1
- import { EnhancedComponent, GameWorld } from '@safe-engine/core';
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,iBAAiB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;AACxG,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,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;0CAKd,YAAY,CAAC,CAAC,CAAC;yBAMhC,aAAa,UAAU,YAAY,CAAC,SAAS,CAAC,MAAM,MAAM;;EAe9E"}
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"}
@@ -1,33 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.v2 = v2;
4
- exports.getDistance = getDistance;
5
- exports.registerSystem = registerSystem;
6
- const core_1 = require("@safe-engine/core");
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 (core_1.GameWorld.Instance.systems.isRegistered(`${component.name}System`)) {
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(entityx_ts_1.EventTypes.ComponentAdded, component, this.receiveComponentAddedEvent.bind(this));
26
- }
27
- receiveComponentAddedEvent(event) {
28
- const ett = event.entity;
29
- const newComp = ett.getComponent(component);
30
- newComp.node = ett.getComponent(NodeComp_1.NodeComp);
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
- core_1.GameWorld.Instance.systems.add(NewSystem);
44
- core_1.GameWorld.Instance.systems.configureOnce(NewSystem);
45
- core_1.GameWorld.Instance.listUpdate.push(NewSystem);
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/Size';
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 './systems/GUISystem';
11
- export * from './systems/RenderSystem';
12
- export * from '@safe-engine/core';
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA"}
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
- "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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./app"), exports);
18
- __exportStar(require("./components/BaseComponent"), exports);
19
- __exportStar(require("./components/GUIComponent"), exports);
20
- __exportStar(require("./components/NodeComp"), exports);
21
- __exportStar(require("./components/RenderComponent"), exports);
22
- __exportStar(require("./components/Scene"), exports);
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"}