@gedit/editor-2d 0.1.111 → 0.1.115

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 (76) hide show
  1. package/lib/browser/editor2d-context-key-service.js +24 -35
  2. package/lib/browser/editor2d-context-key-service.js.map +1 -1
  3. package/lib/browser/editor2d-contribution.js +89 -139
  4. package/lib/browser/editor2d-contribution.js.map +1 -1
  5. package/lib/browser/editor2d-frontend-module.js +20 -20
  6. package/lib/browser/editor2d-frontend-module.js.map +1 -1
  7. package/lib/browser/editor2d-label-provider.d.ts +0 -1
  8. package/lib/browser/editor2d-label-provider.d.ts.map +1 -1
  9. package/lib/browser/editor2d-label-provider.js +37 -58
  10. package/lib/browser/editor2d-label-provider.js.map +1 -1
  11. package/lib/browser/editor2d-model-provider.js +61 -127
  12. package/lib/browser/editor2d-model-provider.js.map +1 -1
  13. package/lib/browser/editor2d-ref-provider-contribution.js +44 -110
  14. package/lib/browser/editor2d-ref-provider-contribution.js.map +1 -1
  15. package/lib/browser/editor2d-service.d.ts +1 -1
  16. package/lib/browser/editor2d-service.d.ts.map +1 -1
  17. package/lib/browser/editor2d-service.js +70 -83
  18. package/lib/browser/editor2d-service.js.map +1 -1
  19. package/lib/browser/model/editor2d-document.d.ts +2 -2
  20. package/lib/browser/model/editor2d-document.d.ts.map +1 -1
  21. package/lib/browser/model/editor2d-document.js +376 -547
  22. package/lib/browser/model/editor2d-document.js.map +1 -1
  23. package/lib/browser/model/editor2d-iterator.js +27 -67
  24. package/lib/browser/model/editor2d-iterator.js.map +1 -1
  25. package/lib/browser/model/editor2d-model-container.js +10 -21
  26. package/lib/browser/model/editor2d-model-container.js.map +1 -1
  27. package/lib/browser/model/editor2d-model.js +77 -92
  28. package/lib/browser/model/editor2d-model.js.map +1 -1
  29. package/lib/browser/model/editor2d-selection.js +16 -43
  30. package/lib/browser/model/editor2d-selection.js.map +1 -1
  31. package/lib/browser/model/editor2d-widget.js +71 -90
  32. package/lib/browser/model/editor2d-widget.js.map +1 -1
  33. package/lib/browser/model/editor2d.js +41 -127
  34. package/lib/browser/model/editor2d.js.map +1 -1
  35. package/lib/browser/model/utils/anim.utils.js +14 -14
  36. package/lib/browser/model/utils/anim.utils.js.map +1 -1
  37. package/lib/browser/playground/canvas-draw-layer.js +45 -69
  38. package/lib/browser/playground/canvas-draw-layer.js.map +1 -1
  39. package/lib/browser/playground/canvas-draw.d.ts +1 -0
  40. package/lib/browser/playground/canvas-draw.d.ts.map +1 -1
  41. package/lib/browser/playground/canvas-draw.js +152 -241
  42. package/lib/browser/playground/canvas-draw.js.map +1 -1
  43. package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
  44. package/lib/browser/playground/canvas-layer.js +57 -102
  45. package/lib/browser/playground/canvas-layer.js.map +1 -1
  46. package/lib/browser/playground/entities/document-entity.js +8 -28
  47. package/lib/browser/playground/entities/document-entity.js.map +1 -1
  48. package/lib/browser/playground/entities/editor2d-entity.js +14 -37
  49. package/lib/browser/playground/entities/editor2d-entity.js.map +1 -1
  50. package/lib/browser/playground/playground-context.d.ts +3 -2
  51. package/lib/browser/playground/playground-context.d.ts.map +1 -1
  52. package/lib/browser/playground/playground-context.js +56 -55
  53. package/lib/browser/playground/playground-context.js.map +1 -1
  54. package/lib/browser/playground/playground-contribution.js +61 -65
  55. package/lib/browser/playground/playground-contribution.js.map +1 -1
  56. package/lib/browser/playground/selection-entity-manager.d.ts +1 -0
  57. package/lib/browser/playground/selection-entity-manager.d.ts.map +1 -1
  58. package/lib/browser/playground/selection-entity-manager.js +82 -132
  59. package/lib/browser/playground/selection-entity-manager.js.map +1 -1
  60. package/lib/browser/playground/selector-extend-icons.js +15 -16
  61. package/lib/browser/playground/selector-extend-icons.js.map +1 -1
  62. package/lib/browser/playground/selector-extend-renderer.d.ts +3 -2
  63. package/lib/browser/playground/selector-extend-renderer.d.ts.map +1 -1
  64. package/lib/browser/playground/selector-extend-renderer.js +67 -52
  65. package/lib/browser/playground/selector-extend-renderer.js.map +1 -1
  66. package/lib/browser/utils/snapshot.js +81 -172
  67. package/lib/browser/utils/snapshot.js.map +1 -1
  68. package/package.json +7 -7
  69. package/src/browser/editor2d-label-provider.ts +1 -15
  70. package/src/browser/editor2d-service.ts +9 -6
  71. package/src/browser/model/editor2d-document.ts +19 -12
  72. package/src/browser/playground/canvas-draw.ts +14 -1
  73. package/src/browser/playground/canvas-layer.ts +4 -2
  74. package/src/browser/playground/playground-context.ts +11 -10
  75. package/src/browser/playground/selection-entity-manager.tsx +9 -3
  76. package/src/browser/playground/selector-extend-renderer.tsx +43 -10
@@ -1,30 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
2
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
29
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
30
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -37,174 +11,100 @@ var __metadata = (this && this.__metadata) || function (k, v) {
37
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
38
12
  return function (target, key) { decorator(target, key, paramIndex); }
39
13
  };
40
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
41
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
42
- return new (P || (P = Promise))(function (resolve, reject) {
43
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
44
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
45
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
46
- step((generator = generator.apply(thisArg, _arguments || [])).next());
47
- });
48
- };
49
- var __generator = (this && this.__generator) || function (thisArg, body) {
50
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
51
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
52
- function verb(n) { return function (v) { return step([n, v]); }; }
53
- function step(op) {
54
- if (f) throw new TypeError("Generator is already executing.");
55
- while (_) try {
56
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
57
- if (y = 0, t) op = [op[0] & 2, t.value];
58
- switch (op[0]) {
59
- case 0: case 1: t = op; break;
60
- case 4: _.label++; return { value: op[1], done: false };
61
- case 5: _.label++; y = op[1]; op = [0]; continue;
62
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
63
- default:
64
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
65
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
66
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
67
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
68
- if (t[2]) _.ops.pop();
69
- _.trys.pop(); continue;
70
- }
71
- op = body.call(thisArg, _);
72
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
73
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
74
- }
75
- };
76
- var __values = (this && this.__values) || function(o) {
77
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
78
- if (m) return m.call(o);
79
- if (o && typeof o.length === "number") return {
80
- next: function () {
81
- if (o && i >= o.length) o = void 0;
82
- return { value: o && o[i++], done: !o };
83
- }
84
- };
85
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
86
- };
87
14
  Object.defineProperty(exports, "__esModule", { value: true });
88
15
  exports.Editor2dDocument = void 0;
89
- var inversify_1 = require("inversify");
90
- var utils_1 = require("@gedit/utils");
91
- var editor2d_1 = require("./editor2d");
92
- var render_engine_1 = require("@gedit/render-engine");
93
- var render_engine_ide_1 = require("@gedit/render-engine-ide");
94
- var tree_1 = require("@gedit/tree");
95
- var browser_1 = require("@gedit/resource/lib/browser");
96
- var connection_1 = require("@gedit/connection");
97
- var workspace_2d_1 = require("@gedit/workspace-2d");
98
- var resource_1 = require("@gedit/resource");
99
- var app_config_1 = require("@gedit/app-config");
100
- var editor2d_iterator_1 = require("./editor2d-iterator");
101
- var utils_2 = require("./utils");
102
- var versionId = 0;
103
- var Editor2dDocument = /** @class */ (function (_super) {
104
- __extends(Editor2dDocument, _super);
105
- function Editor2dDocument(message, options, resourceProivder, resourceAutoSaveService, resourceService, engineService, appConfig) {
106
- var _this = _super.call(this) || this;
107
- _this.message = message;
108
- _this.options = options;
109
- _this.resourceProivder = resourceProivder;
110
- _this.resourceAutoSaveService = resourceAutoSaveService;
111
- _this.resourceService = resourceService;
112
- _this.engineService = engineService;
113
- _this.appConfig = appConfig;
114
- _this.onContentChangedEmitter = new utils_1.Emitter();
115
- _this.onSavedEmitter = new utils_1.Emitter();
116
- _this.onContentChanged = _this.onContentChangedEmitter.event;
117
- _this.onSaved = _this.onSavedEmitter.event;
118
- _this.animationStarted = false;
119
- _this.animationIds = []; // 当前正在录制的动画节点
120
- _this._localVersion = 0;
121
- _this._saveVersion = 0;
122
- _this.errors = [];
123
- _this.componentContents = {};
124
- _this._snaplines = [];
125
- _this.loading = true;
126
- _this.fireContentChanged = function (nodes, type, noSave, noFiredChanged) {
16
+ const inversify_1 = require("inversify");
17
+ const utils_1 = require("@gedit/utils");
18
+ const editor2d_1 = require("./editor2d");
19
+ const render_engine_1 = require("@gedit/render-engine");
20
+ const render_engine_ide_1 = require("@gedit/render-engine-ide");
21
+ const tree_1 = require("@gedit/tree");
22
+ const browser_1 = require("@gedit/resource/lib/browser");
23
+ const connection_1 = require("@gedit/connection");
24
+ const workspace_2d_1 = require("@gedit/workspace-2d");
25
+ const resource_1 = require("@gedit/resource");
26
+ const app_config_1 = require("@gedit/app-config");
27
+ const editor2d_iterator_1 = require("./editor2d-iterator");
28
+ const utils_2 = require("./utils");
29
+ let versionId = 0;
30
+ let Editor2dDocument = class Editor2dDocument extends tree_1.TreeImpl {
31
+ constructor(message, options, resourceProivder, resourceAutoSaveService, resourceService, engineService, appConfig) {
32
+ super();
33
+ this.message = message;
34
+ this.options = options;
35
+ this.resourceProivder = resourceProivder;
36
+ this.resourceAutoSaveService = resourceAutoSaveService;
37
+ this.resourceService = resourceService;
38
+ this.engineService = engineService;
39
+ this.appConfig = appConfig;
40
+ this.onContentChangedEmitter = new utils_1.Emitter();
41
+ this.onSavedEmitter = new utils_1.Emitter();
42
+ this.onContentChanged = this.onContentChangedEmitter.event;
43
+ this.onSaved = this.onSavedEmitter.event;
44
+ this.animationStarted = false;
45
+ this.animationIds = []; // 当前正在录制的动画节点
46
+ this._localVersion = 0;
47
+ this._saveVersion = 0;
48
+ this.errors = [];
49
+ this.componentContents = {};
50
+ this._snaplines = [];
51
+ this.loading = true;
52
+ this.fireContentChanged = (nodes, type, noSave, noFiredChanged) => {
127
53
  // TODO 这里修改目前还是全量的,需要优化
128
- var contents = nodes.map(function (n) { return ({ text: 'treeNode' }); });
129
- _this._localVersion = ++versionId;
54
+ const contents = nodes.map(n => ({ text: 'treeNode' }));
55
+ this._localVersion = ++versionId;
130
56
  if (!noFiredChanged) {
131
- _this.onContentChangedEmitter.fire({ document: _this, contentChanges: contents, nodes: nodes, type: type });
57
+ this.onContentChangedEmitter.fire({ document: this, contentChanges: contents, nodes, type });
132
58
  }
133
- if (!_this.loading && !noSave) {
134
- _this._saveVersion++;
135
- if (_this._saveVersion === Number.MAX_VALUE) {
136
- _this._saveVersion = 0;
59
+ if (!this.loading && !noSave) {
60
+ this._saveVersion++;
61
+ if (this._saveVersion === Number.MAX_VALUE) {
62
+ this._saveVersion = 0;
137
63
  }
138
- _this.onSavedEmitter.fire({ document: _this, contentChanges: contents, nodes: nodes, type: type });
64
+ this.onSavedEmitter.fire({ document: this, contentChanges: contents, nodes, type });
139
65
  }
140
66
  };
141
- _this.refreshingNodes = new WeakMap();
142
- _this.toDispose.push(_this.onContentChangedEmitter);
143
- _this.toDispose.push(_this.onSavedEmitter);
67
+ this.refreshingNodes = new WeakMap();
68
+ this.toDispose.push(this.onContentChangedEmitter);
69
+ this.toDispose.push(this.onSavedEmitter);
144
70
  // this.toDispose.
145
71
  // this.toDispose.push(this.resourceAutoSaveService);
146
- _this.toDispose.push(_this.resourceAutoSaveService.onSyncContent(function (content) { return _this.reloadContent(content || ''); }));
147
- _this.toDispose.push(_this.onSaved(function (event) { return _this.resourceAutoSaveService.fireDidChangeContent(event); }));
148
- _this.toDispose.push(_this.resourceService.onRefsChange(function () { return __awaiter(_this, void 0, void 0, function () {
149
- return __generator(this, function (_a) {
150
- switch (_a.label) {
151
- case 0: return [4 /*yield*/, this.loadRefInfos()];
152
- case 1:
153
- _a.sent();
154
- return [2 /*return*/];
155
- }
156
- });
157
- }); }));
72
+ this.toDispose.push(this.resourceAutoSaveService.onSyncContent(content => this.reloadContent(content || '')));
73
+ this.toDispose.push(this.onSaved(event => this.resourceAutoSaveService.fireDidChangeContent(event)));
74
+ // TODO
75
+ // this.toDispose.push(this.resourceService.onRefsChange(async () => {
76
+ // await this.loadRefInfos();
77
+ // }));
158
78
  // 同步数据
159
- _this.resourceAutoSaveService.sync();
160
- return _this;
161
- }
162
- Object.defineProperty(Editor2dDocument.prototype, "uri", {
163
- get: function () {
164
- return this.options.autoSaveService.resource.uri.toString();
165
- },
166
- enumerable: false,
167
- configurable: true
168
- });
169
- Object.defineProperty(Editor2dDocument.prototype, "engineName", {
170
- get: function () {
171
- return this.appConfig.engineName;
172
- },
173
- enumerable: false,
174
- configurable: true
175
- });
79
+ this.resourceAutoSaveService.sync();
80
+ }
81
+ get uri() {
82
+ return this.options.autoSaveService.resource.uri.toString();
83
+ }
84
+ get engineName() {
85
+ return this.appConfig.engineName;
86
+ }
176
87
  /**
177
88
  * 切换资源, 只有模板编辑器需要用到
178
89
  */
179
- Editor2dDocument.prototype.changeResource = function (uri) {
180
- return __awaiter(this, void 0, void 0, function () {
181
- var uriObj, resource;
182
- return __generator(this, function (_a) {
183
- switch (_a.label) {
184
- case 0:
185
- uriObj = new utils_1.URI(uri);
186
- return [4 /*yield*/, this.resourceProivder(uriObj)];
187
- case 1:
188
- resource = _a.sent();
189
- this.resourceAutoSaveService.changeResource(resource);
190
- this.resourceAutoSaveService.sync();
191
- return [2 /*return*/];
192
- }
193
- });
194
- });
195
- };
90
+ async changeResource(uri) {
91
+ const uriObj = new utils_1.URI(uri);
92
+ const resource = await this.resourceProivder(uriObj);
93
+ this.resourceAutoSaveService.changeResource(resource);
94
+ this.resourceAutoSaveService.sync();
95
+ }
196
96
  /**
197
97
  * 获取依赖的组件的内容
198
98
  * @param compPath
199
99
  * @param parentNode
200
100
  */
201
- Editor2dDocument.prototype.getComponentContent = function (compPath, parentNode) {
202
- var comp = this.componentContents[compPath];
101
+ getComponentContent(compPath, parentNode) {
102
+ const comp = this.componentContents[compPath];
203
103
  if (comp && comp.children)
204
- return comp.children.map(function (c) { return (__assign(__assign({}, c), { parent: parentNode })); });
205
- };
206
- Editor2dDocument.prototype.createDisplayNode = function (displayType, parent, position, index, data) {
207
- var parentNode;
104
+ return comp.children.map(c => (Object.assign(Object.assign({}, c), { parent: parentNode })));
105
+ }
106
+ createDisplayNode(displayType, parent, position, index, data) {
107
+ let parentNode;
208
108
  if (!parent || editor2d_1.Editor2dNode.isRootNode(parent)) {
209
109
  parentNode = this.getNode(editor2d_1.Editor2dNode.ROOT_NODE_ID);
210
110
  }
@@ -212,10 +112,10 @@ var Editor2dDocument = /** @class */ (function (_super) {
212
112
  parentNode = editor2d_1.Editor2dNode.toContainerNode(parent);
213
113
  }
214
114
  // const lastChild = parentNode.children.slice().reverse().find(c => c.position !== undefined);
215
- var attrs = this.engineService.getDisplayDefaultData(this.engineName, displayType);
115
+ const attrs = this.engineService.getDisplayDefaultData(this.engineName, displayType);
216
116
  if (attrs.position) {
217
117
  if (!position) {
218
- var pos = 100 + Math.round(Math.random() * 100);
118
+ const pos = 100 + Math.round(Math.random() * 100);
219
119
  position = (displayType !== render_engine_1.GameObjectBaseType.GROUP && displayType !== render_engine_1.GameObjectBaseType.COMPONENT) ? { x: pos, y: pos } : { x: 0, y: 0 };
220
120
  }
221
121
  attrs.position.x = position.x;
@@ -228,23 +128,23 @@ var Editor2dDocument = /** @class */ (function (_super) {
228
128
  // // attrs.position.y = lastChild.position!.y + 20;
229
129
  // }
230
130
  }
231
- var name = this.getUniqueName(parentNode.children || [], (data === null || data === void 0 ? void 0 : data.name) || this.engineService.getGameObjectIDERegister(this.engineName, displayType).decoration.name, displayType);
232
- var node = editor2d_1.Editor2dNode.createNode(__assign(__assign(__assign({}, attrs), data), { name: name }), displayType, undefined, Object.keys(this.nodes));
131
+ const name = this.getUniqueName(parentNode.children || [], (data === null || data === void 0 ? void 0 : data.name) || this.engineService.getGameObjectIDERegister(this.engineName, displayType).decoration.name);
132
+ const node = editor2d_1.Editor2dNode.createNode(Object.assign(Object.assign(Object.assign({}, attrs), data), { name }), displayType, undefined, Object.keys(this.nodes));
233
133
  this.addChildren(node, parentNode, index === undefined ? 0 : index);
234
134
  return node;
235
- };
236
- Editor2dDocument.prototype.copyNode = function (targetNode) {
135
+ }
136
+ copyNode(targetNode) {
237
137
  if (!targetNode || editor2d_1.Editor2dNode.isRootNode(targetNode))
238
138
  return;
239
- var parent = targetNode.parent;
139
+ const parent = targetNode.parent;
240
140
  if (!this.canbeAddAsChild(parent, targetNode.displayType))
241
141
  return;
242
- var children = parent.children;
243
- var index = children.findIndex(function (value) { return value.id === targetNode.id; });
142
+ const children = parent.children;
143
+ const index = children.findIndex(value => value.id === targetNode.id);
244
144
  return this.copyToParentNode(parent, targetNode, index + 1);
245
- };
246
- Editor2dDocument.prototype.copyToParentNode = function (parentNode, nodeData, index, position) {
247
- var parent = undefined;
145
+ }
146
+ copyToParentNode(parentNode, nodeData, index, position) {
147
+ let parent = undefined;
248
148
  if (this.canbeAddAsChild(parentNode, nodeData.displayType)) {
249
149
  parent = parentNode;
250
150
  }
@@ -252,14 +152,14 @@ var Editor2dDocument = /** @class */ (function (_super) {
252
152
  parent = parentNode.parent;
253
153
  }
254
154
  if (parent) {
255
- var newNode = editor2d_1.Editor2dNode.clone(nodeData, [], Object.keys(this.nodes));
155
+ const newNode = editor2d_1.Editor2dNode.clone(nodeData, [], Object.keys(this.nodes));
256
156
  if (newNode.position) {
257
157
  newNode.position.x = position ? position.x : newNode.position.x + 20;
258
158
  newNode.position.y = position ? position.y : newNode.position.y + 20;
259
159
  }
260
160
  if (index === undefined) {
261
161
  if (parent === parentNode.parent) {
262
- index = parent.children.findIndex(function (value) { return value.id === parentNode.id; });
162
+ index = parent.children.findIndex(value => value.id === parentNode.id);
263
163
  if (index < 0) {
264
164
  index = 0;
265
165
  }
@@ -268,9 +168,9 @@ var Editor2dDocument = /** @class */ (function (_super) {
268
168
  index = 0;
269
169
  }
270
170
  }
271
- var name_1 = this.getUniqueName((parent.children || []), nodeData.name, nodeData.displayType);
272
- Object.assign(newNode, { name: name_1 });
273
- var children = parent.children;
171
+ const name = this.getUniqueName((parent.children || []), nodeData.name);
172
+ Object.assign(newNode, { name });
173
+ let children = parent.children;
274
174
  if (!children) {
275
175
  children = parent.children = [];
276
176
  parent.expanded = true;
@@ -282,11 +182,11 @@ var Editor2dDocument = /** @class */ (function (_super) {
282
182
  this.fireContentChanged([newNode], 'add');
283
183
  return newNode;
284
184
  }
285
- };
286
- Editor2dDocument.prototype.delNode = function (targetNode, silent) {
185
+ }
186
+ delNode(targetNode, silent) {
287
187
  if (!targetNode || editor2d_1.Editor2dNode.isRootNode(targetNode))
288
188
  return;
289
- var parent = targetNode.parent;
189
+ const parent = targetNode.parent;
290
190
  this.removeNode(targetNode);
291
191
  tree_1.CompositeTreeNode.removeChild(parent, targetNode);
292
192
  if (!editor2d_1.Editor2dNode.isRootNode(parent) && parent.children.length === 0) {
@@ -296,25 +196,19 @@ var Editor2dDocument = /** @class */ (function (_super) {
296
196
  if (!silent) {
297
197
  this.fireContentChanged([targetNode], 'delete');
298
198
  }
299
- };
300
- Editor2dDocument.prototype.delNodes = function () {
301
- var _this = this;
302
- var targetNodes = [];
303
- for (var _i = 0; _i < arguments.length; _i++) {
304
- targetNodes[_i] = arguments[_i];
305
- }
306
- targetNodes.forEach(function (node) { return _this.delNode(node, true); });
199
+ }
200
+ delNodes(...targetNodes) {
201
+ targetNodes.forEach(node => this.delNode(node, true));
307
202
  if (targetNodes.length > 0) {
308
203
  this.fireContentChanged(targetNodes, 'delete');
309
204
  }
310
- };
311
- Editor2dDocument.prototype.rename = function (targetNode, name) {
205
+ }
206
+ rename(targetNode, name) {
312
207
  if (!name || !targetNode || editor2d_1.Editor2dNode.isRootNode(targetNode))
313
208
  return;
314
- this.updateNode(targetNode, { name: name });
315
- };
316
- Editor2dDocument.prototype.addChildren = function (node, parentNode, index) {
317
- if (index === void 0) { index = 0; }
209
+ this.updateNode(targetNode, { name });
210
+ }
211
+ addChildren(node, parentNode, index = 0) {
318
212
  if (node.parent) {
319
213
  this.delNode(node, true);
320
214
  }
@@ -326,21 +220,18 @@ var Editor2dDocument = /** @class */ (function (_super) {
326
220
  parentNode.expanded = true;
327
221
  this.refresh(parentNode);
328
222
  this.fireContentChanged([node], node.parent ? 'update' : 'add');
329
- };
223
+ }
330
224
  /**
331
225
  * 打开节点
332
226
  */
333
- Editor2dDocument.prototype.expandNode = function (node, expanded) {
334
- if (expanded === void 0) { expanded = true; }
227
+ expandNode(node, expanded = true) {
335
228
  if (tree_1.CompositeTreeNode.is(node)) {
336
229
  node.expanded = expanded;
337
230
  this.refresh(node);
338
231
  }
339
- };
340
- Editor2dDocument.prototype.updateNode = function (node, data, forceUpdate, noSave, noFiredChanged) {
341
- if (data === void 0) { data = {}; }
342
- if (forceUpdate === void 0) { forceUpdate = false; }
343
- var treeNode = typeof node === 'string' ? this.nodes[node] : this.nodes[node.id];
232
+ }
233
+ updateNode(node, data = {}, forceUpdate = false, noSave, noFiredChanged) {
234
+ const treeNode = typeof node === 'string' ? this.nodes[node] : this.nodes[node.id];
344
235
  if (!treeNode)
345
236
  return;
346
237
  // if (data.name) {
@@ -355,51 +246,57 @@ var Editor2dDocument = /** @class */ (function (_super) {
355
246
  console.error('无法覆盖同步节点数据: ', treeNode, data);
356
247
  return;
357
248
  }
358
- var changed = forceUpdate ? true : utils_1.Compare.isDeepChanged(treeNode, data);
249
+ const changed = forceUpdate ? true : utils_1.Compare.isDeepChanged(treeNode, data);
359
250
  if (changed) {
360
251
  Object.assign(treeNode, data);
361
252
  treeNode.version = (treeNode.version || 0) + 1;
362
253
  // this.refresh(treeNode as Editor2dContainerNode);
363
254
  this.fireContentChanged([treeNode], 'update', noSave, noFiredChanged);
364
255
  }
365
- };
256
+ }
366
257
  /**
367
258
  * 检测节点名字,保证唯一
368
259
  * @param siblings
369
- * @param newName
260
+ * @param name
370
261
  * @protected
371
262
  */
372
- Editor2dDocument.prototype.getUniqueName = function (siblings, newName, displayType) {
373
- var name = newName;
374
- var sameNameCount = siblings.filter(function (n) { return n.name === name; }).length;
375
- if (sameNameCount >= 1) {
376
- var numMatched = name.match(/[0-9]+$/);
377
- if (numMatched) {
378
- name = name.slice(0, numMatched.index) + (parseInt(numMatched[0]) + sameNameCount);
379
- }
380
- else {
381
- var sameTypeCount = siblings.filter(function (n) { return n.displayType === displayType; }).length;
382
- name = name + sameTypeCount;
383
- }
384
- return this.getUniqueName(siblings, name, displayType);
385
- }
386
- return name;
387
- };
388
- Editor2dDocument.prototype.getSiblings = function (treeNode) {
263
+ getUniqueName(siblings, name, i = 0) {
264
+ const numMatched = name.match(/[0-9]+$/);
265
+ let newName = i ? `${name}${i}` : name;
266
+ if (numMatched) {
267
+ newName = name.slice(0, numMatched.index) + (parseInt(numMatched[0]) + i);
268
+ }
269
+ if (siblings.some(n => n.name === newName)) {
270
+ return this.getUniqueName(siblings, name, i + 1);
271
+ }
272
+ return newName;
273
+ /* if (sameNameCount >= 1) {
274
+ const numMatched = name.match(/[0-9]+$/);
275
+ if (numMatched) {
276
+ name = name.slice(0, numMatched.index) + (parseInt(numMatched[0]) + sameNameCount);
277
+ } else {
278
+ const sameTypeCount = siblings.filter(n => n.displayType === displayType).length;
279
+ name = name + sameTypeCount;
280
+ }
281
+ return this.getUniqueName(siblings, name, displayType);
282
+ }
283
+ return name; */
284
+ }
285
+ getSiblings(treeNode) {
389
286
  if (treeNode.parent) {
390
- return treeNode.parent.children.filter(function (n) { return n !== treeNode; });
287
+ return treeNode.parent.children.filter(n => n !== treeNode);
391
288
  }
392
289
  return [];
393
- };
394
- Editor2dDocument.prototype.reloadContent = function (content) {
395
- var data = { version: this.version };
290
+ }
291
+ reloadContent(content) {
292
+ let data = { version: this.version };
396
293
  this.loading = true;
397
294
  try {
398
295
  data = JSON.parse(content || '{}');
399
296
  }
400
297
  catch (e) {
401
298
  console.error(e);
402
- this.message.error("\u6587\u4EF6 ".concat(this.uri, " \u5185\u5BB9\u89E3\u6790\u5931\u8D25"));
299
+ this.message.error(`文件 ${this.uri} 内容解析失败`);
403
300
  }
404
301
  if (data.content) {
405
302
  this._localVersion = data.content.version;
@@ -416,111 +313,95 @@ var Editor2dDocument = /** @class */ (function (_super) {
416
313
  this.refresh();
417
314
  this.loadRefInfos();
418
315
  this.fireContentChanged([], 'add', true);
419
- };
420
- Editor2dDocument.prototype.reloadEnd = function () {
316
+ }
317
+ reloadEnd() {
421
318
  if (this.loading) {
422
319
  this.loading = false;
423
320
  }
424
- };
425
- Editor2dDocument.prototype.createRootNode = function () {
426
- var root = editor2d_1.Editor2dNode.createRootNode(new utils_1.URI(this.uri));
321
+ }
322
+ createRootNode() {
323
+ const root = editor2d_1.Editor2dNode.createRootNode(new utils_1.URI(this.uri));
427
324
  if (root.displayType === render_engine_1.GameObjectBaseType.SCENE) {
428
- var defaultData = this.engineService.getDisplayDefaultData(this.engineName, render_engine_1.GameObjectBaseType.SCENE);
325
+ const defaultData = this.engineService.getDisplayDefaultData(this.engineName, render_engine_1.GameObjectBaseType.SCENE);
429
326
  Object.assign(root, defaultData);
430
327
  }
431
328
  return root;
432
- };
433
- Editor2dDocument.prototype.save = function () {
329
+ }
330
+ save() {
434
331
  return this.resourceAutoSaveService.save();
435
- };
332
+ }
436
333
  ;
437
- Object.defineProperty(Editor2dDocument.prototype, "dirty", {
438
- get: function () {
439
- return this.resourceAutoSaveService.dirty;
440
- },
441
- enumerable: false,
442
- configurable: true
443
- });
444
- Object.defineProperty(Editor2dDocument.prototype, "autoSave", {
445
- get: function () {
446
- return this.resourceAutoSaveService.autoSave;
447
- },
448
- enumerable: false,
449
- configurable: true
450
- });
451
- Object.defineProperty(Editor2dDocument.prototype, "onDirtyChanged", {
452
- get: function () {
453
- return this.resourceAutoSaveService.onDirtyChanged;
454
- },
455
- enumerable: false,
456
- configurable: true
457
- });
458
- Editor2dDocument.prototype.toggleVisible = function (nodes, visible) {
459
- var _this = this;
460
- nodes.forEach(function (node) {
461
- if (_this.checkDecoration(node, 'hidable')) {
462
- _this.updateNode(node, { canvasHide: visible !== undefined ? !visible : !node.canvasHide });
334
+ get dirty() {
335
+ return this.resourceAutoSaveService.dirty;
336
+ }
337
+ get autoSave() {
338
+ return this.resourceAutoSaveService.autoSave;
339
+ }
340
+ get onDirtyChanged() {
341
+ return this.resourceAutoSaveService.onDirtyChanged;
342
+ }
343
+ toggleVisible(nodes, visible) {
344
+ nodes.forEach(node => {
345
+ if (this.checkDecoration(node, 'hidable')) {
346
+ this.updateNode(node, { canvasHide: visible !== undefined ? !visible : !node.canvasHide });
463
347
  }
464
348
  });
465
- };
466
- Editor2dDocument.prototype.toggleLock = function (nodes, locked) {
467
- var _this = this;
468
- nodes.forEach(function (node) {
469
- if (_this.checkDecoration(node, 'lockable')) {
470
- _this.updateNode(node, { locked: locked !== undefined ? locked : !node.locked });
349
+ }
350
+ toggleLock(nodes, locked) {
351
+ nodes.forEach(node => {
352
+ if (this.checkDecoration(node, 'lockable')) {
353
+ this.updateNode(node, { locked: locked !== undefined ? locked : !node.locked });
471
354
  }
472
355
  });
473
- };
474
- Editor2dDocument.prototype.moveUp = function (node, toTop) {
475
- var children = node.parent.children;
476
- var targetNode = toTop ? children[0] : node.previousSibling;
356
+ }
357
+ moveUp(node, toTop) {
358
+ const children = node.parent.children;
359
+ const targetNode = toTop ? children[0] : node.previousSibling;
477
360
  if (targetNode) {
478
361
  this.moveToNode(node, targetNode);
479
362
  }
480
- };
363
+ }
481
364
  /**
482
365
  * 上移动多个节点
483
366
  * @param nodes
484
367
  */
485
- Editor2dDocument.prototype.moveUpMore = function (nodes) {
486
- var _this = this;
368
+ moveUpMore(nodes) {
487
369
  nodes = nodes.length > 1
488
- ? nodes.slice().sort(function (n1, n2) { return tree_1.CompositeTreeNode.indexOf(n1.parent, n1) - tree_1.CompositeTreeNode.indexOf(n2.parent, n2); })
370
+ ? nodes.slice().sort((n1, n2) => tree_1.CompositeTreeNode.indexOf(n1.parent, n1) - tree_1.CompositeTreeNode.indexOf(n2.parent, n2))
489
371
  : nodes;
490
- nodes.forEach(function (n) { return _this.moveUp(n); });
491
- };
372
+ nodes.forEach(n => this.moveUp(n));
373
+ }
492
374
  /**
493
375
  * 下移动多个节点
494
376
  */
495
- Editor2dDocument.prototype.moveDownMore = function (nodes) {
496
- var _this = this;
377
+ moveDownMore(nodes) {
497
378
  nodes = nodes.length > 1
498
- ? nodes.slice().sort(function (n1, n2) { return tree_1.CompositeTreeNode.indexOf(n2.parent, n2) - tree_1.CompositeTreeNode.indexOf(n1.parent, n1); })
379
+ ? nodes.slice().sort((n1, n2) => tree_1.CompositeTreeNode.indexOf(n2.parent, n2) - tree_1.CompositeTreeNode.indexOf(n1.parent, n1))
499
380
  : nodes;
500
- nodes.forEach(function (n) { return _this.moveDown(n); });
501
- };
502
- Editor2dDocument.prototype.moveDown = function (node, toBottom) {
503
- var children = node.parent.children;
504
- var targetNode = toBottom ? children[children.length - 1] : node.nextSibling;
381
+ nodes.forEach(n => this.moveDown(n));
382
+ }
383
+ moveDown(node, toBottom) {
384
+ const children = node.parent.children;
385
+ const targetNode = toBottom ? children[children.length - 1] : node.nextSibling;
505
386
  if (targetNode) {
506
387
  this.moveToNode(node, targetNode, true);
507
388
  }
508
- };
389
+ }
509
390
  /**
510
391
  * 移动到对应节点位置
511
392
  * @param node
512
393
  * @param targetNode
513
394
  * @param toAfter - 是否加到目标节点的后边,默认前面
514
395
  */
515
- Editor2dDocument.prototype.moveToNode = function (node, targetNode, toAfter) {
396
+ moveToNode(node, targetNode, toAfter) {
516
397
  if (editor2d_1.Editor2dNode.isRootNode(targetNode) || tree_1.TreeNode.equals(node, targetNode))
517
398
  return;
518
- var parent = targetNode.parent;
519
- var children = parent.children;
399
+ const parent = targetNode.parent;
400
+ const children = parent.children;
520
401
  this.delNode(node, true);
521
- var targetIndex = children.indexOf(targetNode);
522
- var previousSibling = targetNode.previousSibling;
523
- var nextSibling = targetNode.nextSibling;
402
+ const targetIndex = children.indexOf(targetNode);
403
+ const previousSibling = targetNode.previousSibling;
404
+ const nextSibling = targetNode.nextSibling;
524
405
  // const uniqueName = this.getUniqueName(children, node.name!, node.displayType);
525
406
  if (!toAfter) {
526
407
  children.splice(targetIndex, 0, node);
@@ -530,8 +411,8 @@ var Editor2dDocument = /** @class */ (function (_super) {
530
411
  });
531
412
  }
532
413
  Object.assign(node, {
533
- parent: parent,
534
- previousSibling: previousSibling,
414
+ parent,
415
+ previousSibling,
535
416
  nextSibling: targetNode,
536
417
  });
537
418
  Object.assign(targetNode, {
@@ -544,9 +425,9 @@ var Editor2dDocument = /** @class */ (function (_super) {
544
425
  nextSibling: node
545
426
  });
546
427
  Object.assign(node, {
547
- parent: parent,
428
+ parent,
548
429
  previousSibling: targetNode,
549
- nextSibling: nextSibling,
430
+ nextSibling,
550
431
  });
551
432
  if (nextSibling) {
552
433
  Object.assign(nextSibling, {
@@ -556,135 +437,132 @@ var Editor2dDocument = /** @class */ (function (_super) {
556
437
  }
557
438
  this.refresh(parent);
558
439
  this.fireContentChanged([node], 'update');
559
- };
560
- Editor2dDocument.prototype.moveToNodesAsChildren = function (nodes, targetNode) {
561
- var _this = this;
440
+ }
441
+ moveToNodesAsChildren(nodes, targetNode) {
562
442
  // 后边的先加
563
443
  nodes = nodes.slice().reverse();
564
- var canAddAsChild = !nodes.find(function (s) { return !_this.canbeAddAsChild(targetNode, s.displayType, s); });
444
+ const canAddAsChild = !nodes.find(s => !this.canbeAddAsChild(targetNode, s.displayType, s));
565
445
  if (canAddAsChild) {
566
- nodes.forEach(function (node) { return _this.addChildren(node, targetNode, 0); });
446
+ nodes.forEach(node => this.addChildren(node, targetNode, 0));
567
447
  return true;
568
448
  }
569
449
  return false;
570
- };
571
- Editor2dDocument.prototype.moveToNodesAsSiblings = function (nodes, targetNode) {
572
- var _this = this;
450
+ }
451
+ moveToNodesAsSiblings(nodes, targetNode) {
573
452
  // 后边的先加
574
453
  nodes = nodes.slice().reverse();
575
- var canAddAsSibling = targetNode.parent && !nodes.find(function (s) { return !_this.canbeAddAsChild(targetNode.parent, s.displayType, s); });
454
+ const canAddAsSibling = targetNode.parent && !nodes.find(s => !this.canbeAddAsChild(targetNode.parent, s.displayType, s));
576
455
  if (canAddAsSibling) {
577
- nodes.forEach(function (node) {
578
- _this.moveToNode(node, targetNode, true);
456
+ nodes.forEach(node => {
457
+ this.moveToNode(node, targetNode, true);
579
458
  });
580
459
  return true;
581
460
  }
582
461
  return false;
583
- };
584
- Editor2dDocument.prototype.getSelectedNodes = function () {
585
- var nodes = [];
462
+ }
463
+ getSelectedNodes() {
464
+ const nodes = [];
586
465
  // eslint-disable-next-line guard-for-in
587
- for (var id in this.nodes) {
588
- var node = this.nodes[id];
466
+ for (const id in this.nodes) {
467
+ const node = this.nodes[id];
589
468
  if (node && node.selected) {
590
469
  nodes.push(node);
591
470
  }
592
471
  }
593
472
  return nodes;
594
- };
595
- Editor2dDocument.prototype.getNodeById = function (nodeId) {
473
+ }
474
+ getNodeById(nodeId) {
596
475
  return this.nodes[nodeId];
597
- };
598
- Editor2dDocument.prototype.getNodeIcon = function (node) {
476
+ }
477
+ getNodeIcon(node) {
599
478
  if (node.tags && node.tags.length > 0) {
600
- var tagId = node.tags[0].id;
601
- var tagIcon = this.appConfig.getTagIconClass(tagId);
479
+ const tagId = node.tags[0].id;
480
+ const tagIcon = this.appConfig.getTagIconClass(tagId);
602
481
  if (tagIcon)
603
482
  return tagIcon;
604
483
  }
605
- var register = this.engineService.getGameObjectIDERegister(this.engineName, node.displayType);
484
+ const register = this.engineService.getGameObjectIDERegister(this.engineName, node.displayType);
606
485
  if (register && register.decoration && register.decoration.iconClass) {
607
486
  return register.decoration.iconClass;
608
487
  }
609
488
  return '';
610
- };
611
- Editor2dDocument.prototype.getNodeIconColor = function (node) {
489
+ }
490
+ getNodeIconColor(node) {
612
491
  if (node.tags && node.tags.length > 0) {
613
- var tagId = node.tags[0].id;
614
- var tagIcon = this.appConfig.getTagColorClass(tagId);
492
+ const tagId = node.tags[0].id;
493
+ const tagIcon = this.appConfig.getTagColorClass(tagId);
615
494
  if (tagIcon)
616
495
  return tagIcon;
617
496
  }
618
497
  return '';
619
- };
620
- Editor2dDocument.prototype.getSelectedNodesWithoutRoot = function () {
621
- return this.getSelectedNodes().filter(function (n) { return !editor2d_1.Editor2dNode.isRootNode(n); });
622
- };
623
- Editor2dDocument.prototype.isContainNode = function (parent, id) {
624
- var target = this.nodes[id];
498
+ }
499
+ getSelectedNodesWithoutRoot() {
500
+ return this.getSelectedNodes().filter(n => !editor2d_1.Editor2dNode.isRootNode(n));
501
+ }
502
+ isContainNode(parent, id) {
503
+ let target = this.nodes[id];
625
504
  while (target) {
626
505
  if (target.id === parent.id)
627
506
  return true;
628
507
  target = target.parent;
629
508
  }
630
509
  return false;
631
- };
510
+ }
632
511
  /**
633
512
  * 合并分组
634
513
  * @param nodes
635
514
  */
636
- Editor2dDocument.prototype.combineNodes = function (nodes) {
515
+ combineNodes(nodes) {
637
516
  if (nodes.length > 0) {
638
517
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
639
- var parent_1 = nodes[0].parent;
640
- var index = tree_1.CompositeTreeNode.indexOf(parent_1, nodes[0]);
641
- var group = this.createDisplayNode(render_engine_1.GameObjectBaseType.GROUP, parent_1, undefined, index);
518
+ const parent = nodes[0].parent;
519
+ const index = tree_1.CompositeTreeNode.indexOf(parent, nodes[0]);
520
+ const group = this.createDisplayNode(render_engine_1.GameObjectBaseType.GROUP, parent, undefined, index);
642
521
  this.moveToNodesAsChildren(nodes, group);
643
522
  }
644
- };
523
+ }
645
524
  /**
646
525
  * 解除分组,目前只支持图层
647
526
  * @param node
648
527
  */
649
- Editor2dDocument.prototype.unCombineNode = function (node) {
650
- var _this = this;
528
+ unCombineNode(node) {
651
529
  if (node.children && node.parent) {
652
530
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
653
- var parentNode_1 = node.parent;
654
- var curIndex_1 = tree_1.CompositeTreeNode.indexOf(parentNode_1, node);
655
- node.children.slice().reverse().forEach(function (n) {
656
- _this.addChildren(n, parentNode_1, curIndex_1);
531
+ const parentNode = node.parent;
532
+ const curIndex = tree_1.CompositeTreeNode.indexOf(parentNode, node);
533
+ node.children.slice().reverse().forEach((n) => {
534
+ this.addChildren(n, parentNode, curIndex);
657
535
  });
658
536
  }
659
537
  this.delNode(node);
660
- };
538
+ }
661
539
  /**
662
540
  * 可以作为子节点
663
541
  * @param targetNode
664
542
  * @param childDisplayType
665
543
  * @param childNode
666
544
  */
667
- Editor2dDocument.prototype.canbeAddAsChild = function (targetNode, childDisplayType, childNode) {
545
+ canbeAddAsChild(targetNode, childDisplayType, childNode) {
668
546
  if (childNode && childNode.parent === targetNode)
669
547
  return true;
670
- var isRootNode = editor2d_1.Editor2dNode.isRootNode(targetNode);
671
- var nodeDeco = this.engineService.getGameObjectDecoration(this.engineName, targetNode.displayType);
672
- var childDeco = this.engineService.getGameObjectDecoration(this.engineName, childDisplayType);
673
- var childTypes = typeof nodeDeco.childTypes === 'function' ? nodeDeco.childTypes(targetNode) : (nodeDeco.childTypes || []);
674
- var checkParent = false;
548
+ const isRootNode = editor2d_1.Editor2dNode.isRootNode(targetNode);
549
+ const nodeDeco = this.engineService.getGameObjectDecoration(this.engineName, targetNode.displayType);
550
+ const childDeco = this.engineService.getGameObjectDecoration(this.engineName, childDisplayType);
551
+ const childTypes = typeof nodeDeco.childTypes === 'function' ? nodeDeco.childTypes(targetNode) : (nodeDeco.childTypes || []);
552
+ let checkParent = false;
675
553
  if (childDeco.parentTypes !== undefined) {
676
- checkParent = childDeco.parentTypes.find(function (d) { return targetNode.displayType === d || (isRootNode && d === 'root') || nodeDeco.group === d; }) !== undefined;
554
+ checkParent = childDeco.parentTypes.find(d => targetNode.displayType === d || (isRootNode && d === 'root') || nodeDeco.group === d) !== undefined;
677
555
  if (checkParent && childDeco.parentIgnoreTypes !== undefined) {
678
- checkParent = !childDeco.parentIgnoreTypes.find(function (d) { return targetNode.displayType === d || (isRootNode && d === 'root') || nodeDeco.group === d; });
556
+ checkParent = !childDeco.parentIgnoreTypes.find(d => targetNode.displayType === d || (isRootNode && d === 'root') || nodeDeco.group === d);
679
557
  }
680
558
  }
681
- var checkChildren = childTypes.find(function (d) { return childDisplayType === d || childDeco.group === d; }) !== undefined;
682
- var checkSuccess = checkParent || checkChildren;
559
+ const checkChildren = childTypes.find(d => childDisplayType === d || childDeco.group === d) !== undefined;
560
+ const checkSuccess = checkParent || checkChildren;
683
561
  if (!checkSuccess)
684
562
  return false;
685
- var siblings = targetNode.children || [];
563
+ const siblings = targetNode.children || [];
686
564
  if (childDeco.single) {
687
- var addedNodes = siblings.filter(function (s) { return s.displayType === childDisplayType; });
565
+ const addedNodes = siblings.filter(s => s.displayType === childDisplayType);
688
566
  if (addedNodes.length > 0)
689
567
  return false;
690
568
  }
@@ -692,42 +570,39 @@ var Editor2dDocument = /** @class */ (function (_super) {
692
570
  return childDeco.canbeAddedAsChild(targetNode, siblings);
693
571
  }
694
572
  return true;
695
- };
696
- Editor2dDocument.prototype.checkDecoration = function (node, decoKey) {
697
- var deco = this.engineService.getGameObjectDecoration(this.engineName, node.displayType);
573
+ }
574
+ checkDecoration(node, decoKey) {
575
+ const deco = this.engineService.getGameObjectDecoration(this.engineName, node.displayType);
698
576
  return deco[decoKey] === undefined || !!deco[decoKey];
699
- };
700
- Editor2dDocument.prototype.setAnimationStarted = function (b) {
577
+ }
578
+ setAnimationStarted(b) {
701
579
  this.animationStarted = b;
702
- };
703
- Editor2dDocument.prototype.startRecordAnimation = function (animationIds, onNodeChange) {
704
- var _this = this;
580
+ }
581
+ startRecordAnimation(animationIds, onNodeChange) {
705
582
  // this.animationStarted = true;
706
583
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
707
- var getNodesToChildrenById = function (n, id) {
708
- return n.children && n.children.some(function (c) { return c.id === id || getNodesToChildrenById(c, id); });
709
- };
584
+ const getNodesToChildrenById = (n, id) => n.children && n.children.some((c) => c.id === id || getNodesToChildrenById(c, id));
710
585
  this.animationIds = animationIds();
711
- var cache = this.animationIds
712
- .map(function (id) { return _this.getNodeById(id); }).filter(function (n) { return !!n; })
713
- .map(function (node) { return _this.cloneNodeData(node); });
714
- var toDispose = this.onContentChanged(function (e) {
715
- _this.animationIds = animationIds();
586
+ const cache = this.animationIds
587
+ .map(id => this.getNodeById(id)).filter(n => !!n)
588
+ .map(node => this.cloneNodeData(node));
589
+ const toDispose = this.onContentChanged(e => {
590
+ this.animationIds = animationIds();
716
591
  // TODO 删除动画元件后,动画面板清空数据
717
592
  if (e.nodes) {
718
- var nodes = e.nodes.filter(function (n) {
593
+ const nodes = e.nodes.filter((n) => {
719
594
  // 新建面板时,加入的元素先插入 cache 记录初始值
720
595
  if (n && n.animation && n.displayType === render_engine_1.GameObjectBaseType.ANIMATION) {
721
- var _a = n.animation, animation = _a === void 0 ? {} : _a;
722
- var _b = (animation || {}).frames, frames_1 = _b === void 0 ? {} : _b;
723
- frames_1.forEach(function (c) {
724
- if (!cache.some(function (d) { return d.id === c.id; })) {
725
- var node = _this.cloneNodeData(_this.getNodeById(c.id));
596
+ const { animation = {} } = n;
597
+ const { frames = {} } = animation || {};
598
+ frames.forEach((c) => {
599
+ if (!cache.some(d => d.id === c.id)) {
600
+ const node = this.cloneNodeData(this.getNodeById(c.id));
726
601
  cache.push(node);
727
602
  }
728
603
  });
729
604
  }
730
- return _this.animationIds.some(function (id) { return (id === n.id) || getNodesToChildrenById(n, id); });
605
+ return this.animationIds.some(id => (id === n.id) || getNodesToChildrenById(n, id));
731
606
  });
732
607
  if (nodes.length) {
733
608
  // TODO: 音乐素材变更
@@ -736,179 +611,142 @@ var Editor2dDocument = /** @class */ (function (_super) {
736
611
  }
737
612
  });
738
613
  return {
739
- dispose: function () {
614
+ dispose: () => {
740
615
  toDispose.dispose();
741
616
  // reset node data
742
- cache.forEach(function (nodeData) {
743
- var displayType = nodeData.displayType;
744
- var currentNode = _this.getNodeById(nodeData.id);
617
+ cache.forEach(nodeData => {
618
+ const { displayType } = nodeData;
619
+ const currentNode = this.getNodeById(nodeData.id);
745
620
  if (!currentNode) {
746
621
  return;
747
622
  }
748
- var register = _this.engineService.getGameObjectIDERegister(_this.engineService.engineName, displayType);
749
- var _a = _this.engineService.getGameObjectDecoration(_this.engineService.engineName, displayType).timelineDisabledKeys, timelineDisabledKeys = _a === void 0 ? [] : _a;
750
- var keysList = (0, utils_2.getAnimationKeys)(_this.engineService, register, timelineDisabledKeys);
751
- var changeData = (0, utils_2.getChangeAnimationData)(keysList, currentNode, nodeData);
623
+ const register = this.engineService.getGameObjectIDERegister(this.engineService.engineName, displayType);
624
+ const { timelineDisabledKeys = [], } = this.engineService.getGameObjectDecoration(this.engineService.engineName, displayType);
625
+ const keysList = (0, utils_2.getAnimationKeys)(this.engineService, register, timelineDisabledKeys);
626
+ const changeData = (0, utils_2.getChangeAnimationData)(keysList, currentNode, nodeData);
752
627
  changeData.name = currentNode === null || currentNode === void 0 ? void 0 : currentNode.name;
753
- _this.updateNode(nodeData.id, changeData, true);
628
+ this.updateNode(nodeData.id, changeData, true);
754
629
  });
755
630
  // this.animationStarted = false;
756
- _this.animationIds = [];
631
+ this.animationIds = [];
757
632
  }
758
633
  };
759
- };
634
+ }
760
635
  /**
761
636
  * 同一个时间周期的refresh自动取消
762
637
  * @param raw
763
638
  */
764
- Editor2dDocument.prototype.refresh = function (raw) {
765
- var _this = this;
639
+ refresh(raw) {
766
640
  if (!raw)
767
- return _super.prototype.refresh.call(this);
768
- var deferred = new utils_1.PromiseDeferred();
641
+ return super.refresh();
642
+ const deferred = new utils_1.PromiseDeferred();
769
643
  if (this.refreshingNodes.has(raw)) {
770
- var cache = this.refreshingNodes.get(raw);
644
+ const cache = this.refreshingNodes.get(raw);
771
645
  cache.deferred.resolve(undefined);
772
646
  clearTimeout(cache.timeout);
773
647
  this.refreshingNodes.delete(raw);
774
648
  }
775
- var timeout = setTimeout(function () {
776
- _this.refreshingNodes.delete(raw);
777
- _super.prototype.refresh.call(_this, raw)
778
- .then(function (res) { return deferred.resolve(res); })
779
- .catch(function (rej) { return deferred.reject(rej); });
649
+ const timeout = setTimeout(() => {
650
+ this.refreshingNodes.delete(raw);
651
+ super.refresh(raw)
652
+ .then(res => deferred.resolve(res))
653
+ .catch(rej => deferred.reject(rej));
780
654
  });
781
655
  // @ts-ignore
782
- this.refreshingNodes.set(raw, { timeout: timeout, deferred: deferred });
656
+ this.refreshingNodes.set(raw, { timeout, deferred });
783
657
  return deferred.promise;
784
- };
785
- Editor2dDocument.prototype.cloneNodeData = function (node) {
658
+ }
659
+ cloneNodeData(node) {
786
660
  return (0, utils_1.deepClone)((0, utils_1.omit)(node, ['parent', 'previousSibling', 'nextSibling', 'selected', 'canvasHide', 'version']));
787
- };
788
- Object.defineProperty(Editor2dDocument.prototype, "version", {
789
- get: function () {
790
- return this._localVersion;
791
- },
792
- enumerable: false,
793
- configurable: true
794
- });
795
- Object.defineProperty(Editor2dDocument.prototype, "length", {
796
- get: function () {
797
- return Object.keys(this.nodes).length;
798
- },
799
- enumerable: false,
800
- configurable: true
801
- });
661
+ }
662
+ get version() {
663
+ return this._localVersion;
664
+ }
665
+ get length() {
666
+ return Object.keys(this.nodes).length;
667
+ }
802
668
  /**
803
669
  * 检测错误
804
670
  * @protected
805
671
  */
806
- Editor2dDocument.prototype.loadRefInfos = function () {
807
- return __awaiter(this, void 0, void 0, function () {
808
- var componentContents, _a, normalize;
809
- return __generator(this, function (_b) {
810
- switch (_b.label) {
811
- case 0: return [4 /*yield*/, this.resourceService.getDependenciesContent(this.uri, function (u) { return !!u.match(/\.comp/); })];
812
- case 1:
813
- componentContents = _b.sent();
814
- if (!!this.options.isTemplate) return [3 /*break*/, 3];
815
- _a = this;
816
- return [4 /*yield*/, this.resourceService.checkRefsErrors(this.uri)];
817
- case 2:
818
- _a.errors = _b.sent();
819
- _b.label = 3;
820
- case 3:
821
- normalize = function (node, version, parent) {
822
- if (parent) {
823
- node.parent = parent;
824
- }
825
- if (version !== undefined) {
826
- node.version = version;
827
- }
828
- node.children = node.children ? node.children.map(function (c) { return normalize(c, version, node); }) : undefined;
829
- return node;
830
- };
831
- this.componentContents = (0, utils_1.mapValues)(componentContents, function (value) { return value.content ? normalize(value.content, value.version) : undefined; });
832
- return [4 /*yield*/, this.refresh()];
833
- case 4:
834
- _b.sent();
835
- this.fireContentChanged([], 'add', true);
836
- return [2 /*return*/];
837
- }
838
- });
839
- });
840
- };
841
- Editor2dDocument.prototype.getWarningDesc = function (node) {
672
+ async loadRefInfos() {
673
+ const componentContents = await this.resourceService.getDependenciesContent(this.uri, u => !!u.match(/\.comp/));
674
+ // TODO 模板模式暂时不做资源依赖检测
675
+ if (!this.options.isTemplate) {
676
+ this.errors = await this.resourceService.checkRefsErrors(this.uri);
677
+ }
678
+ const normalize = (node, version, parent) => {
679
+ if (parent) {
680
+ node.parent = parent;
681
+ }
682
+ if (version !== undefined) {
683
+ node.version = version;
684
+ }
685
+ node.children = node.children ? node.children.map(c => normalize(c, version, node)) : undefined;
686
+ return node;
687
+ };
688
+ this.componentContents = (0, utils_1.mapValues)(componentContents, (value) => value.content ? normalize(value.content, value.version) : undefined);
689
+ await this.refresh();
690
+ this.fireContentChanged([], 'add', true);
691
+ }
692
+ getWarningDesc(node) {
842
693
  if (node.error && node.error.message)
843
694
  return node.error.message;
844
- var uris = [];
845
- var register = this.engineService.getGameObjectIDERegister(this.engineName, node.displayType);
695
+ let uris = [];
696
+ const register = this.engineService.getGameObjectIDERegister(this.engineName, node.displayType);
846
697
  if (register.getReferenceUris) {
847
698
  uris = register.getReferenceUris(node);
848
699
  }
849
700
  else {
850
701
  return undefined;
851
702
  }
852
- var error = this.errors.find(function (e) { return uris.includes(e.uri); });
703
+ const error = this.errors.find(e => uris.includes(e.uri));
853
704
  return error === null || error === void 0 ? void 0 : error.message;
854
- };
855
- Editor2dDocument.prototype.queryNodesByTypes = function (types) {
856
- var e_1, _a;
705
+ }
706
+ queryNodesByTypes(types) {
857
707
  if (!this.root)
858
708
  return [];
859
- var nodes = [];
860
- try {
861
- for (var _b = __values(new editor2d_iterator_1.Editor2dIterator(this.root)), _c = _b.next(); !_c.done; _c = _b.next()) {
862
- var node = _c.value;
863
- if (node !== this.root && (!types || types.includes(node.displayType))) {
864
- nodes.push(node);
865
- }
866
- }
867
- }
868
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
869
- finally {
870
- try {
871
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
709
+ const nodes = [];
710
+ for (const node of new editor2d_iterator_1.Editor2dIterator(this.root)) {
711
+ if (node !== this.root && (!types || types.includes(node.displayType))) {
712
+ nodes.push(node);
872
713
  }
873
- finally { if (e_1) throw e_1.error; }
874
714
  }
875
715
  return nodes;
876
- };
877
- Editor2dDocument.prototype.nodeIdToGameObjectId = function (nodeId) {
878
- var node = this.nodes[nodeId];
716
+ }
717
+ nodeIdToGameObjectId(nodeId) {
718
+ const node = this.nodes[nodeId];
879
719
  if (!node)
880
720
  return '';
881
- var objectId = editor2d_1.Editor2dNode.getNodePath(node);
721
+ const objectId = editor2d_1.Editor2dNode.getNodePath(node);
882
722
  return objectId;
883
- };
723
+ }
884
724
  /**
885
725
  * 获取游戏对象
886
726
  * @param nodeId
887
727
  */
888
- Editor2dDocument.prototype.getGameObjectById = function (nodeId) {
889
- var objectId = this.nodeIdToGameObjectId(nodeId);
890
- var game = this.engineService.getGameWidgetByUri(this.uri);
728
+ getGameObjectById(nodeId) {
729
+ const objectId = this.nodeIdToGameObjectId(nodeId);
730
+ const game = this.engineService.getGameWidgetByUri(this.uri);
891
731
  if (game) {
892
- var scene = game.getCurrentScene();
732
+ const scene = game.getCurrentScene();
893
733
  if (scene) {
894
734
  return scene.gameObjectStore.get(objectId);
895
735
  }
896
736
  }
897
- };
737
+ }
898
738
  /**
899
739
  * 位置移动
900
740
  * @param nodes
901
741
  * @param type
902
742
  * @param delta
903
743
  */
904
- Editor2dDocument.prototype.positionMove = function (nodes, type, delta) {
905
- var _this = this;
906
- if (delta === void 0) { delta = 1; }
907
- nodes = nodes.filter(function (node) { return node.position; });
744
+ positionMove(nodes, type, delta = 1) {
745
+ nodes = nodes.filter(node => node.position);
908
746
  if (nodes.length === 0)
909
747
  return;
910
- var moveType = 'x';
911
- var moveDelta = delta;
748
+ let moveType = 'x';
749
+ let moveDelta = delta;
912
750
  switch (type) {
913
751
  case 'left':
914
752
  moveDelta = -moveDelta;
@@ -923,58 +761,49 @@ var Editor2dDocument = /** @class */ (function (_super) {
923
761
  moveType = 'y';
924
762
  break;
925
763
  }
926
- nodes.forEach(function (node) {
927
- var position = node.position;
928
- var newPosition = {
764
+ nodes.forEach(node => {
765
+ const position = node.position;
766
+ const newPosition = {
929
767
  x: moveType === 'x' ? position.x + moveDelta : position.x,
930
768
  y: moveType === 'y' ? position.y + moveDelta : position.y,
931
769
  };
932
- _this.updateNode(node, { position: newPosition, }, true, true, true);
770
+ this.updateNode(node, { position: newPosition, }, true, true, true);
933
771
  });
934
772
  this.fireContentChanged(nodes, 'update');
935
- };
936
- Object.defineProperty(Editor2dDocument.prototype, "snaplines", {
937
- get: function () {
938
- return this._snaplines;
939
- },
940
- set: function (lines) {
941
- this._snaplines = lines;
942
- if (JSON.stringify(lines) !== JSON.stringify(this._snaplines)) {
943
- this.fireContentChanged([], 'update');
944
- }
945
- },
946
- enumerable: false,
947
- configurable: true
948
- });
949
- Object.defineProperty(Editor2dDocument.prototype, "saveVersion", {
950
- get: function () {
951
- return this._saveVersion;
952
- },
953
- enumerable: false,
954
- configurable: true
955
- });
956
- Editor2dDocument.prototype.findIndex = function (node) {
957
- var parent = node.parent;
773
+ }
774
+ get snaplines() {
775
+ return this._snaplines;
776
+ }
777
+ set snaplines(lines) {
778
+ this._snaplines = lines;
779
+ if (JSON.stringify(lines) !== JSON.stringify(this._snaplines)) {
780
+ this.fireContentChanged([], 'update');
781
+ }
782
+ }
783
+ get saveVersion() {
784
+ return this._saveVersion;
785
+ }
786
+ findIndex(node) {
787
+ const parent = node.parent;
958
788
  if (parent) {
959
789
  return parent.children.indexOf(node);
960
790
  }
961
791
  return 0;
962
- };
963
- Editor2dDocument = __decorate([
964
- (0, inversify_1.injectable)(),
965
- __param(0, (0, inversify_1.inject)(connection_1.MessageService)),
966
- __param(1, (0, inversify_1.inject)(editor2d_1.Editor2dModelOptions)),
967
- __param(2, (0, inversify_1.inject)(resource_1.ResourceProvider)),
968
- __param(3, (0, inversify_1.inject)(browser_1.ResourceAutoSaveService)),
969
- __param(4, (0, inversify_1.inject)(workspace_2d_1.WorkspaceResourceService)),
970
- __param(5, (0, inversify_1.inject)(render_engine_ide_1.RenderEngineIDEService)),
971
- __param(6, (0, inversify_1.inject)(app_config_1.AppConfigService)),
972
- __metadata("design:paramtypes", [connection_1.MessageService, Object, Function, browser_1.ResourceAutoSaveService,
973
- workspace_2d_1.WorkspaceResourceService,
974
- render_engine_ide_1.RenderEngineIDEService,
975
- app_config_1.AppConfigService])
976
- ], Editor2dDocument);
977
- return Editor2dDocument;
978
- }(tree_1.TreeImpl));
792
+ }
793
+ };
794
+ Editor2dDocument = __decorate([
795
+ (0, inversify_1.injectable)(),
796
+ __param(0, (0, inversify_1.inject)(connection_1.MessageService)),
797
+ __param(1, (0, inversify_1.inject)(editor2d_1.Editor2dModelOptions)),
798
+ __param(2, (0, inversify_1.inject)(resource_1.ResourceProvider)),
799
+ __param(3, (0, inversify_1.inject)(browser_1.ResourceAutoSaveService)),
800
+ __param(4, (0, inversify_1.inject)(workspace_2d_1.WorkspaceResourceService)),
801
+ __param(5, (0, inversify_1.inject)(render_engine_ide_1.RenderEngineIDEService)),
802
+ __param(6, (0, inversify_1.inject)(app_config_1.AppConfigService)),
803
+ __metadata("design:paramtypes", [connection_1.MessageService, Object, Function, browser_1.ResourceAutoSaveService,
804
+ workspace_2d_1.WorkspaceResourceService,
805
+ render_engine_ide_1.RenderEngineIDEService,
806
+ app_config_1.AppConfigService])
807
+ ], Editor2dDocument);
979
808
  exports.Editor2dDocument = Editor2dDocument;
980
809
  //# sourceMappingURL=editor2d-document.js.map