@flashist/fconsole 0.0.39 → 0.0.41

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 (66) hide show
  1. package/console/view/displaylist/DisplayListItemView.js +1 -1
  2. package/console/view/displaylist/DisplayListItemView.js.map +1 -1
  3. package/index.d.ts +20 -2
  4. package/index.js +20 -2
  5. package/index.js.map +1 -1
  6. package/package.json +3 -2
  7. package/src/console/FC.d.ts +29 -0
  8. package/src/console/FC.js +125 -0
  9. package/src/console/FC.js.map +1 -0
  10. package/src/console/config/DefaultFConsoneConfigVO.d.ts +128 -0
  11. package/src/console/config/DefaultFConsoneConfigVO.js +113 -0
  12. package/src/console/config/DefaultFConsoneConfigVO.js.map +1 -0
  13. package/src/console/config/IFConsoleConfigVO.d.ts +87 -0
  14. package/src/console/config/IFConsoleConfigVO.js +2 -0
  15. package/src/console/config/IFConsoleConfigVO.js.map +1 -0
  16. package/src/console/config/IFConsoleCustomBtnConfigVO.d.ts +4 -0
  17. package/src/console/config/IFConsoleCustomBtnConfigVO.js +2 -0
  18. package/src/console/config/IFConsoleCustomBtnConfigVO.js.map +1 -0
  19. package/src/console/tools/GlobalVarTools.d.ts +4 -0
  20. package/src/console/tools/GlobalVarTools.js +15 -0
  21. package/src/console/tools/GlobalVarTools.js.map +1 -0
  22. package/src/console/view/BaseConsoleButton.d.ts +18 -0
  23. package/src/console/view/BaseConsoleButton.js +63 -0
  24. package/src/console/view/BaseConsoleButton.js.map +1 -0
  25. package/src/console/view/BaseConsoleView.d.ts +42 -0
  26. package/src/console/view/BaseConsoleView.js +170 -0
  27. package/src/console/view/BaseConsoleView.js.map +1 -0
  28. package/src/console/view/ConsoleContentContainer.d.ts +8 -0
  29. package/src/console/view/ConsoleContentContainer.js +9 -0
  30. package/src/console/view/ConsoleContentContainer.js.map +1 -0
  31. package/src/console/view/ConsoleView.d.ts +9 -0
  32. package/src/console/view/ConsoleView.js +43 -0
  33. package/src/console/view/ConsoleView.js.map +1 -0
  34. package/src/console/view/ConsoleViewEvent.d.ts +3 -0
  35. package/src/console/view/ConsoleViewEvent.js +6 -0
  36. package/src/console/view/ConsoleViewEvent.js.map +1 -0
  37. package/src/console/view/capture/CaptureKeyButton.d.ts +16 -0
  38. package/src/console/view/capture/CaptureKeyButton.js +73 -0
  39. package/src/console/view/capture/CaptureKeyButton.js.map +1 -0
  40. package/src/console/view/capture/CaptureKeyButtonEvent.d.ts +3 -0
  41. package/src/console/view/capture/CaptureKeyButtonEvent.js +4 -0
  42. package/src/console/view/capture/CaptureKeyButtonEvent.js.map +1 -0
  43. package/src/console/view/displaylist/DisplayListItemView.d.ts +18 -0
  44. package/src/console/view/displaylist/DisplayListItemView.js +75 -0
  45. package/src/console/view/displaylist/DisplayListItemView.js.map +1 -0
  46. package/src/console/view/displaylist/DisplayListView.d.ts +61 -0
  47. package/src/console/view/displaylist/DisplayListView.js +554 -0
  48. package/src/console/view/displaylist/DisplayListView.js.map +1 -0
  49. package/src/console/view/fps/FpsMeterView.d.ts +13 -0
  50. package/src/console/view/fps/FpsMeterView.js +65 -0
  51. package/src/console/view/fps/FpsMeterView.js.map +1 -0
  52. package/src/console/view/pause/PauseKeyButton.d.ts +20 -0
  53. package/src/console/view/pause/PauseKeyButton.js +99 -0
  54. package/src/console/view/pause/PauseKeyButton.js.map +1 -0
  55. package/src/console/view/tooltip/ConsoleTooltip.d.ts +11 -0
  56. package/src/console/view/tooltip/ConsoleTooltip.js +73 -0
  57. package/src/console/view/tooltip/ConsoleTooltip.js.map +1 -0
  58. package/src/tooltip/BaseTooltip.d.ts +9 -0
  59. package/src/tooltip/BaseTooltip.js +13 -0
  60. package/src/tooltip/BaseTooltip.js.map +1 -0
  61. package/src/tooltip/ITooltipData.d.ts +4 -0
  62. package/src/tooltip/ITooltipData.js +2 -0
  63. package/src/tooltip/ITooltipData.js.map +1 -0
  64. package/src/tooltip/TooltipManager.d.ts +37 -0
  65. package/src/tooltip/TooltipManager.js +105 -0
  66. package/src/tooltip/TooltipManager.js.map +1 -0
@@ -0,0 +1,61 @@
1
+ import { InputManagerEventData } from "@flashist/flibs";
2
+ import { DisplayListItemView } from "./DisplayListItemView";
3
+ import { BaseConsoleView } from "../BaseConsoleView";
4
+ import { BaseConsoleButton } from "../BaseConsoleButton";
5
+ import { PauseKeyButton } from "../pause/PauseKeyButton";
6
+ export declare class DisplayListView extends BaseConsoleView {
7
+ private static ARROW_KEY_CODES;
8
+ private lastCheckedPos;
9
+ private displayListField;
10
+ private displayListItemsPool;
11
+ private displayListItemsCont;
12
+ private closeBtn;
13
+ private lastUnderPointData;
14
+ private lastAllObjectsUnderPointList;
15
+ private forceUpdateUnderPointView;
16
+ protected ignoreConsoleBtn: BaseConsoleButton;
17
+ private _isIgnoreConsoleEnabled;
18
+ protected additionalInfoBtn: BaseConsoleButton;
19
+ private _isAdditionalInfoEnabled;
20
+ protected visualControlsBtn: BaseConsoleButton;
21
+ private _isVisualControlsEnabled;
22
+ protected moveHelperBtn: BaseConsoleButton;
23
+ private _isMoveHelperEnabled;
24
+ private moveObject;
25
+ private prevMoveObject;
26
+ private moveObjectIndex;
27
+ private paused;
28
+ protected pauseKeyBtn: PauseKeyButton;
29
+ private _pauseVisible;
30
+ constructor();
31
+ protected construction(): void;
32
+ destruction(): void;
33
+ protected addListeners(): void;
34
+ protected removeListeners(): void;
35
+ private onTick;
36
+ protected onCapture(): void;
37
+ protected onIgnoreConsole(): void;
38
+ protected onAdditionalInfo(): void;
39
+ protected onVisualControls(): void;
40
+ protected onMoveHelper(): void;
41
+ protected onKeyDown(data: InputManagerEventData): void;
42
+ private parseUnderPointDataToText;
43
+ private parseUnderPointDataToVisualItemsList;
44
+ private groupLogUnderPointData;
45
+ private checkUnderPointDataEqual;
46
+ private parseUnderPointDataToSingleList;
47
+ get isAdditionalInfoEnabled(): boolean;
48
+ set isAdditionalInfoEnabled(value: boolean);
49
+ get isVisualControlsEnabled(): boolean;
50
+ set isVisualControlsEnabled(value: boolean);
51
+ get isMoveHelperEnabled(): boolean;
52
+ set isMoveHelperEnabled(value: boolean);
53
+ get isIgnoreConsoleEnabled(): boolean;
54
+ set isIgnoreConsoleEnabled(value: boolean);
55
+ protected commitData(): void;
56
+ protected commitDisplayListData(): void;
57
+ get pauseVisible(): boolean;
58
+ set pauseVisible(value: boolean);
59
+ protected clearDisplayListItems(): void;
60
+ protected createDisplayListItems(items: DisplayListItemView[]): void;
61
+ }
@@ -0,0 +1,554 @@
1
+ import { ObjectsPool, ObjectTools } from "@flashist/fcore";
2
+ import { FLabel, Point, InteractiveEvent, KeyCodes, FDisplayTools, FApp, FContainer, DisplayTools, InputManager, InputManagerEvent } from "@flashist/flibs";
3
+ import { DisplayListItemView } from "./DisplayListItemView";
4
+ import { BaseConsoleView } from "../BaseConsoleView";
5
+ import { BaseConsoleButton } from "../BaseConsoleButton";
6
+ import { PauseKeyButton } from "../pause/PauseKeyButton";
7
+ import { FC } from "../../FC";
8
+ import { ConsoleContentContainer } from "../ConsoleContentContainer";
9
+ export class DisplayListView extends BaseConsoleView {
10
+ constructor() {
11
+ super();
12
+ }
13
+ construction() {
14
+ super.construction();
15
+ this.captureVisible = true;
16
+ this.pauseVisible = true;
17
+ this.lastCheckedPos = new Point();
18
+ this.moveObjectIndex = -1;
19
+ this.titleLabel.text = FC.config.localization.displayListTitle;
20
+ this.insideContentCont.visible = true;
21
+ this.pauseKeyBtn = new PauseKeyButton();
22
+ this.insideContentCont.addChild(this.pauseKeyBtn.view);
23
+ this.pauseKeyBtn.view.y = 5;
24
+ //
25
+ this.pauseKeyBtn.tooltipData = { title: FC.config.localization.pauseUpdateKeyBtnTooltipTitle };
26
+ this.ignoreConsoleBtn = new BaseConsoleButton();
27
+ this.insideContentCont.addChild(this.ignoreConsoleBtn.view);
28
+ this.ignoreConsoleBtn.tooltipData = {
29
+ title: FC.config.localization.ignoreInfoBtnTooltipTitle,
30
+ text: FC.config.localization.ignoreInfoBtnTooltipText
31
+ };
32
+ this.ignoreConsoleBtn.field.changeConfig({ nativeTextStyle: { fontSize: FC.config.btnSettings.smallSize } });
33
+ //
34
+ this.ignoreConsoleBtn.view.y = this.pauseKeyBtn.view.y + this.pauseKeyBtn.view.height + 5;
35
+ this.additionalInfoBtn = new BaseConsoleButton();
36
+ this.insideContentCont.addChild(this.additionalInfoBtn.view);
37
+ this.additionalInfoBtn.tooltipData = {
38
+ title: FC.config.localization.additionalInfoBtnTooltipTitle,
39
+ text: FC.config.localization.additionalInfoBtnTooltipText
40
+ };
41
+ this.additionalInfoBtn.field.changeConfig({ nativeTextStyle: { fontSize: FC.config.btnSettings.smallSize } });
42
+ //
43
+ this.additionalInfoBtn.view.y = this.ignoreConsoleBtn.view.y + this.ignoreConsoleBtn.view.height;
44
+ this.visualControlsBtn = new BaseConsoleButton();
45
+ this.insideContentCont.addChild(this.visualControlsBtn.view);
46
+ this.visualControlsBtn.tooltipData = {
47
+ title: FC.config.localization.visualControlsBtnTooltipTitle,
48
+ text: FC.config.localization.visualControlsBtnTooltipText
49
+ };
50
+ this.visualControlsBtn.field.changeConfig({ nativeTextStyle: { fontSize: FC.config.btnSettings.smallSize } });
51
+ //
52
+ this.visualControlsBtn.view.y = this.additionalInfoBtn.view.y + this.additionalInfoBtn.view.height;
53
+ this.moveHelperBtn = new BaseConsoleButton();
54
+ this.insideContentCont.addChild(this.moveHelperBtn.view);
55
+ this.moveHelperBtn.tooltipData = {
56
+ title: FC.config.localization.moveHelperTooltipTitle,
57
+ text: FC.config.localization.moveHelperTooltipText
58
+ };
59
+ this.moveHelperBtn.field.changeConfig({ nativeTextStyle: { fontSize: FC.config.btnSettings.smallSize } });
60
+ //
61
+ this.moveHelperBtn.view.y = this.visualControlsBtn.view.y + this.visualControlsBtn.view.height;
62
+ this.displayListField = new FLabel({
63
+ autosize: true,
64
+ nativeTextStyle: {
65
+ fill: FC.config.displayListSettings.hierarchyLabelColor,
66
+ fontSize: FC.config.displayListSettings.hierarchyLabelSize
67
+ }
68
+ });
69
+ this.insideContentCont.addChild(this.displayListField);
70
+ //
71
+ this.displayListField.y = this.moveHelperBtn.view.y + this.moveHelperBtn.view.height + 5;
72
+ //
73
+ this.displayListField.visible = false;
74
+ this.displayListItemsPool = new ObjectsPool();
75
+ this.displayListItemsCont = new FContainer();
76
+ this.insideContentCont.addChild(this.displayListItemsCont);
77
+ //
78
+ this.displayListItemsCont.y = this.moveHelperBtn.view.y + this.moveHelperBtn.view.height + 5;
79
+ this.closeBtn = this.createTitleBtn(FC.config.localization.closeBtnLabel, { title: FC.config.localization.closeBtnTooltipTitle });
80
+ this.captureKeyBtn.tooltipData.text = FC.config.localization.captureKeyBtnTooltipText;
81
+ if (FC.config.displayListSettings.defaultCaptureKeyCode) {
82
+ this.captureKeyBtn.captureKey = FC.config.displayListSettings.defaultCaptureKey;
83
+ this.captureKeyBtn.captureKeyCode = FC.config.displayListSettings.defaultCaptureKeyCode;
84
+ }
85
+ if (FC.config.displayListSettings.defaultPauseKeyCode) {
86
+ this.pauseKeyBtn.pauseKey = FC.config.displayListSettings.defaultPauseKey;
87
+ this.pauseKeyBtn.pauseKeyCode = FC.config.displayListSettings.defaultPauseKeyCode;
88
+ }
89
+ this.isIgnoreConsoleEnabled = FC.config.displayListSettings.defaultIgnoreConsoleEnabled;
90
+ this.isAdditionalInfoEnabled = FC.config.displayListSettings.defaultAdditionalInfoEnabled;
91
+ this.isVisualControlsEnabled = FC.config.displayListSettings.defaultVisualControlsEnabled;
92
+ this.isMoveHelperEnabled = FC.config.displayListSettings.defaultMoveHelperEnabled;
93
+ }
94
+ destruction() {
95
+ super.destruction();
96
+ this.lastUnderPointData = null;
97
+ this.lastAllObjectsUnderPointList = null;
98
+ if (this.moveObject) {
99
+ this.moveObject = null;
100
+ }
101
+ this.prevMoveObject = null;
102
+ }
103
+ addListeners() {
104
+ super.addListeners();
105
+ /*this.eventListenerHelper.addEventListener(
106
+ EngineAdapter.instance.mainTicker,
107
+ TickerEvent.TICK,
108
+ this.onTick
109
+ );*/
110
+ FApp.instance.ticker.add(this.onTick, this);
111
+ this.eventListenerHelper.addEventListener(this.closeBtn.view, InteractiveEvent.TAP, this.onClose);
112
+ this.eventListenerHelper.addEventListener(this.additionalInfoBtn.view, InteractiveEvent.TAP, this.onAdditionalInfo);
113
+ this.eventListenerHelper.addEventListener(this.visualControlsBtn.view, InteractiveEvent.TAP, this.onVisualControls);
114
+ this.eventListenerHelper.addEventListener(this.ignoreConsoleBtn.view, InteractiveEvent.TAP, this.onIgnoreConsole);
115
+ this.eventListenerHelper.addEventListener(this.moveHelperBtn.view, InteractiveEvent.TAP, this.onMoveHelper);
116
+ this.eventListenerHelper.addEventListener(InputManager.instance, InputManagerEvent.KEY_DOWN, this.onKeyDown);
117
+ }
118
+ removeListeners() {
119
+ super.removeListeners();
120
+ FApp.instance.ticker.remove(this.onTick, this);
121
+ }
122
+ onTick() {
123
+ if (this.paused) {
124
+ return;
125
+ }
126
+ if (this.pauseKeyBtn.isActivated) {
127
+ return;
128
+ }
129
+ if (this.visible) {
130
+ const globalPos = FApp.instance.getGlobalInteractionPosition();
131
+ this.lastCheckedPos.x = globalPos.x;
132
+ this.lastCheckedPos.y = globalPos.y;
133
+ let filter = null;
134
+ if (this.isIgnoreConsoleEnabled) {
135
+ filter = (object) => {
136
+ return !(object instanceof ConsoleContentContainer);
137
+ };
138
+ }
139
+ let underPointData = FDisplayTools.getObjectsUnderPoint(FApp.instance.stage, globalPos.x, globalPos.y, filter);
140
+ if (this.forceUpdateUnderPointView || !this.checkUnderPointDataEqual(underPointData, this.lastUnderPointData)) {
141
+ this.forceUpdateUnderPointView = false;
142
+ this.lastUnderPointData = underPointData;
143
+ this.lastAllObjectsUnderPointList = [];
144
+ this.parseUnderPointDataToSingleList(this.lastUnderPointData, this.lastAllObjectsUnderPointList);
145
+ this.commitDisplayListData();
146
+ }
147
+ }
148
+ }
149
+ onCapture() {
150
+ super.onCapture();
151
+ // Log the parsed structure
152
+ console.group(FC.config.localization.displayListStructureLogTitle);
153
+ this.groupLogUnderPointData(this.lastUnderPointData);
154
+ console.groupEnd();
155
+ }
156
+ onIgnoreConsole() {
157
+ this.isIgnoreConsoleEnabled = !this.isIgnoreConsoleEnabled;
158
+ }
159
+ onAdditionalInfo() {
160
+ this.isAdditionalInfoEnabled = !this.isAdditionalInfoEnabled;
161
+ }
162
+ onVisualControls() {
163
+ this.isVisualControlsEnabled = !this.isVisualControlsEnabled;
164
+ }
165
+ onMoveHelper() {
166
+ this.isMoveHelperEnabled = !this.isMoveHelperEnabled;
167
+ }
168
+ onKeyDown(data) {
169
+ if (this.isMoveHelperEnabled) {
170
+ let tempCode = data.nativeKeyboardEvent.code;
171
+ if (data.nativeKeyboardEvent.ctrlKey) {
172
+ this.moveObjectIndex--;
173
+ this.commitData();
174
+ }
175
+ else if (DisplayListView.ARROW_KEY_CODES.indexOf(tempCode) != -1) {
176
+ if (this.moveObject) {
177
+ let tempChangeX = 0;
178
+ let tempChangeY = 0;
179
+ if (tempCode == KeyCodes.ARROW_LEFT) {
180
+ tempChangeX = -1;
181
+ }
182
+ else if (tempCode == KeyCodes.ARROW_RIGHT) {
183
+ tempChangeX = 1;
184
+ }
185
+ if (tempCode == KeyCodes.ARROW_UP) {
186
+ tempChangeY = -1;
187
+ }
188
+ else if (tempCode == KeyCodes.ARROW_DOWN) {
189
+ tempChangeY = 1;
190
+ }
191
+ if (data.nativeKeyboardEvent.shiftKey) {
192
+ tempChangeX *= 10;
193
+ tempChangeY *= 10;
194
+ }
195
+ this.moveObject.x += tempChangeX;
196
+ this.moveObject.y += tempChangeY;
197
+ console.log("Movable object: ", this.moveObject);
198
+ console.log("x: " + this.moveObject.x + ", y: " + this.moveObject.y);
199
+ }
200
+ }
201
+ }
202
+ }
203
+ parseUnderPointDataToText(data, prefix = "∟") {
204
+ let result = "";
205
+ if (data && data.object) {
206
+ let tempName = data.object.toString();
207
+ if (data.object.constructor) {
208
+ tempName = ObjectTools.getConstructorName(data.object.constructor);
209
+ }
210
+ result += prefix + " " + tempName;
211
+ if (FC.config.displayListSettings.nameParamName) {
212
+ if (data.object[FC.config.displayListSettings.nameParamName]) {
213
+ result += " (" + data.object[FC.config.displayListSettings.nameParamName] + ")";
214
+ }
215
+ }
216
+ if (this.isMoveHelperEnabled) {
217
+ if (data.object == this.moveObject) {
218
+ result += " " + FC.config.localization.movableObjectText;
219
+ }
220
+ }
221
+ if (this.isAdditionalInfoEnabled) {
222
+ if (FC.config.displayListSettings.additionalInfoParams) {
223
+ result += " - { ";
224
+ let parsedData;
225
+ let tempParamConfig;
226
+ let keys = Object.keys(FC.config.displayListSettings.additionalInfoParams);
227
+ let tempKey;
228
+ let tempVisualKey;
229
+ let keysCount = keys.length;
230
+ for (let keyIndex = 0; keyIndex < keysCount; keyIndex++) {
231
+ tempKey = keys[keyIndex];
232
+ if (data.object[tempKey] !== undefined) {
233
+ if (keyIndex > 0) {
234
+ result += ", ";
235
+ }
236
+ parsedData = data.object[tempKey];
237
+ //
238
+ tempParamConfig = FC.config.displayListSettings.additionalInfoParams[tempKey];
239
+ if (tempParamConfig.toFixed || tempParamConfig.toFixed === 0) {
240
+ if (parsedData !== Math.floor(parsedData)) {
241
+ parsedData = parsedData.toFixed(tempParamConfig.toFixed);
242
+ }
243
+ }
244
+ //
245
+ tempVisualKey = tempKey;
246
+ if (tempParamConfig.visualName) {
247
+ tempVisualKey = tempParamConfig.visualName;
248
+ }
249
+ result += tempVisualKey + ": " + parsedData;
250
+ }
251
+ }
252
+ result += " }";
253
+ }
254
+ }
255
+ if (data.children && data.children.length > 0) {
256
+ let childPrefix = "- " + prefix;
257
+ let childrenCount = data.children.length;
258
+ for (let childIndex = 0; childIndex < childrenCount; childIndex++) {
259
+ result += "\n" + this.parseUnderPointDataToText(data.children[childIndex], childPrefix);
260
+ }
261
+ }
262
+ }
263
+ return result;
264
+ }
265
+ parseUnderPointDataToVisualItemsList(data, prefix = "∟") {
266
+ let result = [];
267
+ if (data && data.object) {
268
+ let tempName = data.object.toString();
269
+ if (data.object.constructor) {
270
+ tempName = ObjectTools.getConstructorName(data.object.constructor);
271
+ }
272
+ let tempItemText = prefix + " " + tempName;
273
+ if (FC.config.displayListSettings.nameParamName) {
274
+ if (data.object[FC.config.displayListSettings.nameParamName]) {
275
+ tempItemText += " (" + data.object[FC.config.displayListSettings.nameParamName] + ")";
276
+ }
277
+ }
278
+ if (this.isMoveHelperEnabled) {
279
+ if (data.object == this.moveObject) {
280
+ tempItemText += " " + FC.config.localization.movableObjectText;
281
+ }
282
+ }
283
+ if (this.isAdditionalInfoEnabled) {
284
+ if (FC.config.displayListSettings.additionalInfoParams) {
285
+ tempItemText += " - { ";
286
+ let parsedData;
287
+ let tempParamConfig;
288
+ let keys = Object.keys(FC.config.displayListSettings.additionalInfoParams);
289
+ let tempKey;
290
+ let tempVisualKey;
291
+ let keysCount = keys.length;
292
+ for (let keyIndex = 0; keyIndex < keysCount; keyIndex++) {
293
+ tempKey = keys[keyIndex];
294
+ if (data.object[tempKey] !== undefined) {
295
+ if (keyIndex > 0) {
296
+ tempItemText += ", ";
297
+ }
298
+ parsedData = data.object[tempKey];
299
+ //
300
+ tempParamConfig = FC.config.displayListSettings.additionalInfoParams[tempKey];
301
+ if (tempParamConfig.toFixed || tempParamConfig.toFixed === 0) {
302
+ if (parsedData !== Math.floor(parsedData)) {
303
+ parsedData = parsedData.toFixed(tempParamConfig.toFixed);
304
+ }
305
+ }
306
+ //
307
+ tempVisualKey = tempKey;
308
+ if (tempParamConfig.visualName) {
309
+ tempVisualKey = tempParamConfig.visualName;
310
+ }
311
+ tempItemText += tempVisualKey + ": " + parsedData;
312
+ }
313
+ }
314
+ tempItemText += " }";
315
+ }
316
+ }
317
+ let tempItem = this.displayListItemsPool.getObject(DisplayListItemView);
318
+ tempItem.data = data;
319
+ tempItem.text = tempItemText;
320
+ tempItem.isVisualControlsEnabled = this.isVisualControlsEnabled;
321
+ //
322
+ result.push(tempItem);
323
+ if (data.children && data.children.length > 0) {
324
+ let childPrefix = "- " + prefix;
325
+ let childrenCount = data.children.length;
326
+ for (let childIndex = 0; childIndex < childrenCount; childIndex++) {
327
+ // result += "\n" + this.parseUnderPointDataToText(data.children[childIndex], childPrefix);
328
+ result.push(...this.parseUnderPointDataToVisualItemsList(data.children[childIndex], childPrefix));
329
+ }
330
+ }
331
+ }
332
+ return result;
333
+ }
334
+ groupLogUnderPointData(data, prefix = "∟") {
335
+ if (data && data.object) {
336
+ //console.log(data.object);
337
+ //console.dir(data.object);
338
+ const constructorName = ObjectTools.getConstructorName(data.object);
339
+ let logPrefix = prefix;
340
+ if (constructorName) {
341
+ logPrefix = prefix + " " + constructorName;
342
+ }
343
+ console.log(logPrefix, data.object);
344
+ if (data.children && data.children.length > 0) {
345
+ // console.group(" children");
346
+ let childrenCount = data.children.length;
347
+ for (let childIndex = 0; childIndex < childrenCount; childIndex++) {
348
+ this.groupLogUnderPointData(data.children[childIndex], " " + prefix);
349
+ }
350
+ // console.groupEnd();
351
+ }
352
+ }
353
+ }
354
+ checkUnderPointDataEqual(data1, data2) {
355
+ let result = true;
356
+ // If one of the data objects exists and other doesn't
357
+ if (!!data1 != !!data2) {
358
+ result = false;
359
+ // If 2 data objects are available
360
+ }
361
+ else if (data1 && data2) {
362
+ if (data1.object != data2.object) {
363
+ result = false;
364
+ // If one of data has children and other doesn't have
365
+ }
366
+ else if (!!data1.children != !!data2.children) {
367
+ result = false;
368
+ // If there are children arrays in the both data objects
369
+ }
370
+ else if (data1.children && data2.children) {
371
+ // If length of the children lists are not equal, then data objects are not equal too
372
+ if (data1.children.length != data2.children.length) {
373
+ result = false;
374
+ }
375
+ else {
376
+ let childrenCount = data1.children.length;
377
+ for (let childIndex = 0; childIndex < childrenCount; childIndex++) {
378
+ // If one of the children are not equeal, than stop checking and break the loop
379
+ if (!this.checkUnderPointDataEqual(data1.children[childIndex], data2.children[childIndex])) {
380
+ result = false;
381
+ break;
382
+ }
383
+ }
384
+ }
385
+ }
386
+ }
387
+ return result;
388
+ }
389
+ parseUnderPointDataToSingleList(data, list) {
390
+ if (data && data.object) {
391
+ list.push(data.object);
392
+ if (data.children && data.children.length > 0) {
393
+ let childrenCount = data.children.length;
394
+ for (let childIndex = 0; childIndex < childrenCount; childIndex++) {
395
+ this.parseUnderPointDataToSingleList(data.children[childIndex], list);
396
+ }
397
+ }
398
+ }
399
+ }
400
+ get isAdditionalInfoEnabled() {
401
+ return this._isAdditionalInfoEnabled;
402
+ }
403
+ set isAdditionalInfoEnabled(value) {
404
+ if (value == this._isAdditionalInfoEnabled) {
405
+ return;
406
+ }
407
+ this._isAdditionalInfoEnabled = value;
408
+ this.commitData();
409
+ }
410
+ get isVisualControlsEnabled() {
411
+ return this._isVisualControlsEnabled;
412
+ }
413
+ set isVisualControlsEnabled(value) {
414
+ if (value == this._isVisualControlsEnabled) {
415
+ return;
416
+ }
417
+ this._isVisualControlsEnabled = value;
418
+ this.commitData();
419
+ }
420
+ get isMoveHelperEnabled() {
421
+ return this._isMoveHelperEnabled;
422
+ }
423
+ set isMoveHelperEnabled(value) {
424
+ if (value == this._isMoveHelperEnabled) {
425
+ return;
426
+ }
427
+ this._isMoveHelperEnabled = value;
428
+ this.commitData();
429
+ }
430
+ get isIgnoreConsoleEnabled() {
431
+ return this._isIgnoreConsoleEnabled;
432
+ }
433
+ set isIgnoreConsoleEnabled(value) {
434
+ if (value == this._isIgnoreConsoleEnabled) {
435
+ return;
436
+ }
437
+ this._isIgnoreConsoleEnabled = value;
438
+ this.commitData();
439
+ }
440
+ commitData() {
441
+ super.commitData();
442
+ this.commitDisplayListData();
443
+ if (!this.visible) {
444
+ this.isAdditionalInfoEnabled = false;
445
+ this.isMoveHelperEnabled = false;
446
+ this.isVisualControlsEnabled = false;
447
+ }
448
+ if (this.pauseKeyBtn) {
449
+ this.pauseKeyBtn.view.visible = this.pauseVisible;
450
+ }
451
+ if (this.ignoreConsoleBtn) {
452
+ if (this.isIgnoreConsoleEnabled) {
453
+ this.ignoreConsoleBtn.text = FC.config.localization.ignoreInfoBtnPressedLabel;
454
+ }
455
+ else {
456
+ this.ignoreConsoleBtn.text = FC.config.localization.ignorelInfoBtnNormalLabel;
457
+ }
458
+ }
459
+ if (this.additionalInfoBtn) {
460
+ if (this.isAdditionalInfoEnabled) {
461
+ this.additionalInfoBtn.text = FC.config.localization.additionalInfoBtnPressedLabel;
462
+ }
463
+ else {
464
+ this.additionalInfoBtn.text = FC.config.localization.additionalInfoBtnNormalLabel;
465
+ }
466
+ }
467
+ if (this.visualControlsBtn) {
468
+ if (this.isVisualControlsEnabled) {
469
+ this.visualControlsBtn.text = FC.config.localization.visualControlsBtnPressedLabel;
470
+ }
471
+ else {
472
+ this.visualControlsBtn.text = FC.config.localization.visualControlsBtnNormalLabel;
473
+ }
474
+ }
475
+ if (this.moveHelperBtn) {
476
+ if (this.isMoveHelperEnabled) {
477
+ this.moveHelperBtn.text = FC.config.localization.moveHelperBtnPressedLabel;
478
+ // Select an object (if index is -1, it means that selection is reset)
479
+ if (this.moveObjectIndex < -1 || this.moveObjectIndex >= this.lastAllObjectsUnderPointList.length) {
480
+ this.moveObjectIndex = this.lastAllObjectsUnderPointList.length - 1;
481
+ }
482
+ // If there is an object, select it
483
+ if (this.lastAllObjectsUnderPointList[this.moveObjectIndex]) {
484
+ this.moveObject = this.lastAllObjectsUnderPointList[this.moveObjectIndex];
485
+ }
486
+ else {
487
+ this.moveObject = null;
488
+ }
489
+ }
490
+ else {
491
+ this.moveHelperBtn.text = FC.config.localization.moveHelperBtnNormalLabel;
492
+ // Reset selection
493
+ this.moveObject = null;
494
+ this.moveObjectIndex = -1;
495
+ }
496
+ // Update the under point view if a new move object was chosen
497
+ if (this.prevMoveObject !== this.moveObject) {
498
+ this.forceUpdateUnderPointView = true;
499
+ }
500
+ this.prevMoveObject = this.moveObject;
501
+ }
502
+ }
503
+ commitDisplayListData() {
504
+ if (!this.lastUnderPointData) {
505
+ return;
506
+ }
507
+ let listText = this.parseUnderPointDataToText(this.lastUnderPointData);
508
+ this.displayListField.text = listText;
509
+ this.clearDisplayListItems();
510
+ let tempDisplayListItems = this.parseUnderPointDataToVisualItemsList(this.lastUnderPointData);
511
+ this.createDisplayListItems(tempDisplayListItems);
512
+ this.arrange();
513
+ }
514
+ get pauseVisible() {
515
+ return this._pauseVisible;
516
+ }
517
+ set pauseVisible(value) {
518
+ if (value == this.pauseVisible) {
519
+ return;
520
+ }
521
+ this._pauseVisible = value;
522
+ this.commitData();
523
+ }
524
+ clearDisplayListItems() {
525
+ let childrenCount = this.displayListItemsCont.children.length;
526
+ for (let childIndex = 0; childIndex < childrenCount; childIndex++) {
527
+ let tempChild = this.displayListItemsCont.children[childIndex];
528
+ this.displayListItemsPool.addObject(tempChild, DisplayListItemView);
529
+ }
530
+ DisplayTools.removeAllChildren(this.displayListItemsCont);
531
+ }
532
+ createDisplayListItems(items) {
533
+ let lastItem;
534
+ let itemsCount = items.length;
535
+ for (let itemIndex = 0; itemIndex < itemsCount; itemIndex++) {
536
+ let tempItem = items[itemIndex];
537
+ this.displayListItemsCont.addChild(tempItem);
538
+ if (lastItem) {
539
+ tempItem.y = lastItem.y + lastItem.height;
540
+ }
541
+ else {
542
+ tempItem.y = 0;
543
+ }
544
+ lastItem = tempItem;
545
+ }
546
+ }
547
+ }
548
+ DisplayListView.ARROW_KEY_CODES = [
549
+ KeyCodes.ARROW_LEFT,
550
+ KeyCodes.ARROW_RIGHT,
551
+ KeyCodes.ARROW_UP,
552
+ KeyCodes.ARROW_DOWN
553
+ ];
554
+ //# sourceMappingURL=DisplayListView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayListView.js","sourceRoot":"","sources":["../../../../../src/console/view/displaylist/DisplayListView.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { FContainer, FLabel, Graphics } from "@flashist/flibs";
2
+ export declare class FpsMeterView extends FContainer {
3
+ protected field: FLabel;
4
+ protected border: Graphics;
5
+ protected prevTime: number;
6
+ protected time: number;
7
+ protected stepFps: number;
8
+ protected fpsValues: number[];
9
+ protected cumulativeFpsValue: number;
10
+ protected construction(...args: any[]): void;
11
+ protected onAddedToStage(): void;
12
+ protected checkFps(): void;
13
+ }