@gedit/editor-2d 0.2.62 → 0.2.64

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.
@@ -96,7 +96,7 @@ export declare class CanvasDraw extends DisposableImpl {
96
96
  * @return visible changed
97
97
  */
98
98
  protected toggleVisible(appConfig: AppConfigData, visible: boolean): boolean;
99
- addComponentSymbolsMetaToLoader(scene: GameSceneIDE): void;
99
+ addComponentSymbolsMetaToLoader(): void;
100
100
  protected switchSnapline(node?: Editor2dNode): void;
101
101
  updateGameObjects(scene: GameSceneIDE, content: Editor2dNode): void;
102
102
  updateGameObject(scene: GameSceneIDE, node: Editor2dNode, depth: number, renderKeys: string[], isInside?: boolean, parentId?: string, engineName?: string): number;
@@ -104,12 +104,13 @@ export declare class CanvasDraw extends DisposableImpl {
104
104
  protected lastZoom: number;
105
105
  refreshScale(delayDraw?: boolean, zoom?: number): void;
106
106
  update(data: CanvasDrawData): void;
107
- setComponentSymbolsToLoader(scene: GameSceneIDE, child?: GameObjectData[]): void;
108
- symbolsToCurrent(scene: GameSceneIDE, content: Editor2dNode): void;
107
+ setComponentSymbolsToLoader(child?: GameObjectData[]): void;
108
+ symbolsToCurrent(content: Editor2dNode): void;
109
+ getSceneSymbolToValue(): GameObjectData['scene'] | undefined;
109
110
  /**
110
111
  * 获取画布的宽高
111
112
  */
112
- getSceneSize(): SizeSchema | undefined;
113
+ getSceneSize(scene?: GameObjectData['scene']): SizeSchema | undefined;
113
114
  protected draw(): void;
114
115
  }
115
116
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-draw.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-draw.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw.ts"],"names":[],"mappings":"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"}
@@ -149,28 +149,34 @@ class CanvasDraw extends utils_1.DisposableImpl {
149
149
  }
150
150
  return false;
151
151
  }
152
- addComponentSymbolsMetaToLoader(scene) {
152
+ addComponentSymbolsMetaToLoader() {
153
153
  if (this.currentSymbols.length) {
154
154
  this.currentSymbols.forEach(c => {
155
+ var _a, _b;
155
156
  // 数组模式只支持 url;
156
157
  if (c.meta && typeof c.value === 'string') {
158
+ const scene = ((_a = this.renderWidget) === null || _a === void 0 ? void 0 : _a.getSceneByKey(SCENE_KEY)) ||
159
+ ((_b = this.renderWidget) === null || _b === void 0 ? void 0 : _b.createScene(SCENE_KEY));
160
+ if (!scene)
161
+ return;
157
162
  scene.loader.addMetaByObject(c.value, c.meta);
158
163
  }
159
164
  });
160
165
  }
161
166
  }
162
167
  switchSnapline(node) {
163
- var _a, _b, _c, _d, _e, _f;
168
+ var _a, _b, _c;
164
169
  // dom 下开启滚动的话,,显示标尺展示场景大小;
165
170
  if (node &&
166
171
  editor2d_1.Editor2dNode.isRootNode(node) &&
167
172
  node.displayType === render_engine_1.GameObjectBaseType.COMPONENT &&
168
173
  ((_a = this.data) === null || _a === void 0 ? void 0 : _a.engineName) === 'dom') {
169
174
  const snaplineEntity = (_b = this.opts.entityManager) === null || _b === void 0 ? void 0 : _b.getEntity(playground_1.SnaplineConfigEntity);
170
- if (!snaplineEntity) {
175
+ if (!snaplineEntity || !node.scene) {
171
176
  return;
172
177
  }
173
- if (((_c = node.scene) === null || _c === void 0 ? void 0 : _c.scrollXBool) || ((_d = node.scene) === null || _d === void 0 ? void 0 : _d.scrollYBool)) {
178
+ const scene = toNodeData(node.scene, ((_c = node.component) === null || _c === void 0 ? void 0 : _c.symbols) || []);
179
+ if ((scene === null || scene === void 0 ? void 0 : scene.scrollXBool) || (scene === null || scene === void 0 ? void 0 : scene.scrollYBool)) {
174
180
  snaplineEntity.updateConfig({
175
181
  lines: [
176
182
  {
@@ -184,7 +190,7 @@ class CanvasDraw extends utils_1.DisposableImpl {
184
190
  id: 'component_scene_top',
185
191
  color: '#fff000',
186
192
  horizontal: true,
187
- start: { x: 0, y: ((_e = node.scene) === null || _e === void 0 ? void 0 : _e.height) || 400 },
193
+ start: { x: 0, y: (scene === null || scene === void 0 ? void 0 : scene.height) || 400 },
188
194
  strokeWidth: 1,
189
195
  },
190
196
  {
@@ -198,7 +204,7 @@ class CanvasDraw extends utils_1.DisposableImpl {
198
204
  id: 'component_scene_right',
199
205
  color: 'red',
200
206
  vertical: true,
201
- start: { x: ((_f = node.scene) === null || _f === void 0 ? void 0 : _f.width) || 400, y: 0 },
207
+ start: { x: (scene === null || scene === void 0 ? void 0 : scene.width) || 400, y: 0 },
202
208
  strokeWidth: 1,
203
209
  },
204
210
  ],
@@ -216,7 +222,7 @@ class CanvasDraw extends utils_1.DisposableImpl {
216
222
  if (!content)
217
223
  return;
218
224
  // 场景是组件的情况,把组件里的 symbols 的 meta 添加到 loader;
219
- this.addComponentSymbolsMetaToLoader(scene);
225
+ this.addComponentSymbolsMetaToLoader();
220
226
  this.allCount = this.updateGameObject(scene, content, 0, renderKeys);
221
227
  // 删除节点
222
228
  this.lastRenderKeys.forEach(key => {
@@ -253,6 +259,10 @@ class CanvasDraw extends utils_1.DisposableImpl {
253
259
  .concat(children);
254
260
  const component = this.opts.getComponentContent(compId, node, true);
255
261
  componentScene = (_a = component === null || component === void 0 ? void 0 : component[0]) === null || _a === void 0 ? void 0 : _a.scene;
262
+ if (componentScene) {
263
+ const symbols = render_engine_1.GameObjectData.getComponentSymbols(component[0], node);
264
+ componentScene = toNodeData(componentScene, symbols);
265
+ }
256
266
  // 内部节点
257
267
  childInside = true;
258
268
  // 组件开启吸附
@@ -302,27 +312,27 @@ class CanvasDraw extends utils_1.DisposableImpl {
302
312
  return depth;
303
313
  }
304
314
  gameObjectCache.set(nodePath, gameObject);
305
- const updateParent = (node, obj, type = GameObjectEventType.UPDATE) => {
315
+ const updateParent = (n, obj, type = GameObjectEventType.UPDATE) => {
306
316
  // 如果父级是组件或分组更新中心点;
307
- if (node && obj && !editor2d_1.Editor2dNode.isRootNode(node)) {
317
+ if (n && obj && !editor2d_1.Editor2dNode.isRootNode(n)) {
308
318
  this.onGameObjectChangeEmitter.fire({
309
319
  type,
310
320
  gameObject: obj,
311
- node: node,
321
+ node: n,
312
322
  });
313
- if (node.parent && obj.parent) {
314
- updateParent(node.parent, obj.parent, type);
323
+ if (n.parent && obj.parent) {
324
+ updateParent(n.parent, obj.parent, type);
315
325
  }
316
326
  }
317
327
  };
318
328
  scene.onGameObjectDispose(gameObject, () => {
319
- const node = this.nodeCache.get(nodePath);
329
+ const n = this.nodeCache.get(nodePath);
320
330
  this.onGameObjectChangeEmitter.fire({
321
331
  type: GameObjectEventType.DESTROY,
322
332
  gameObject: gameObject,
323
- node,
333
+ node: n,
324
334
  });
325
- updateParent(node, gameObject);
335
+ updateParent(n, gameObject);
326
336
  this.gameObjectCache.delete(nodePath);
327
337
  this.nodeVersionCache.delete(nodePath);
328
338
  this.nodeCache.delete(nodePath);
@@ -330,24 +340,26 @@ class CanvasDraw extends utils_1.DisposableImpl {
330
340
  });
331
341
  scene.onGameObjectUpdate(gameObject, () => {
332
342
  var _a;
333
- const node = this.nodeCache.get(nodePath);
343
+ const n = this.nodeCache.get(nodePath);
344
+ if (!n)
345
+ return;
334
346
  /* this.onGameObjectChangeEmitter.fire({
335
347
  type: GameObjectEventType.UPDATE,
336
348
  gameObject: gameObject!,
337
349
  node: node!,
338
350
  }); */
339
351
  // 初始化的 size 为 0; 大小在 getSelectionData 里靠 render 后的实例获取,这里只更改 node 的 size;
340
- if (gameObject && node) {
352
+ if (gameObject && n) {
341
353
  const register = this.opts.renderEngine.getGameObjectIDERegister(gameObject.scene.config.engine, gameObject.type);
342
354
  const data = (_a = register.getSelectionData) === null || _a === void 0 ? void 0 : _a.call(register, gameObject, this.lastZoom);
343
355
  if (data) {
344
- node.size = data.size;
356
+ n.size = data.size;
345
357
  gameObject.data.size = Object.assign({}, data.size);
346
358
  }
347
359
  }
348
360
  // 更新父级
349
- updateParent(node, gameObject);
350
- this.switchSnapline(node);
361
+ updateParent(n, gameObject);
362
+ this.switchSnapline(n);
351
363
  });
352
364
  scene.onGameObjectCreate(gameObject, () => {
353
365
  this.nodeVersionCache.set(nodePath, newVersion);
@@ -458,7 +470,7 @@ class CanvasDraw extends utils_1.DisposableImpl {
458
470
  this.data = data;
459
471
  this.draw();
460
472
  }
461
- setComponentSymbolsToLoader(scene, child = []) {
473
+ setComponentSymbolsToLoader(child = []) {
462
474
  child.forEach((item) => {
463
475
  if (item.displayType === render_engine_1.GameObjectBaseType.COMPONENT && item.component) {
464
476
  const { id } = item.component;
@@ -468,15 +480,15 @@ class CanvasDraw extends utils_1.DisposableImpl {
468
480
  const currentSymbols = getCurrentSymbols(this.data.appConfig, comp).filter(c => !this.currentSymbols.some(d => d.id === c.id));
469
481
  // 变量数据更新
470
482
  this.currentSymbols = this.currentSymbols.concat(currentSymbols);
471
- this.addComponentSymbolsMetaToLoader(scene);
483
+ this.addComponentSymbolsMetaToLoader();
472
484
  }
473
485
  if (item.children) {
474
- this.setComponentSymbolsToLoader(scene, item.children);
486
+ this.setComponentSymbolsToLoader(item.children);
475
487
  }
476
488
  }
477
489
  });
478
490
  }
479
- symbolsToCurrent(scene, content) {
491
+ symbolsToCurrent(content) {
480
492
  // const currentSymbols = getCurrentSymbols(this.data!.appConfig!, content);
481
493
  const currentSymbols = getCurrentSymbols(this.data.appConfig, content).filter(c => !this.currentSymbols.some(d => d.id === c.id));
482
494
  // 变量数据更新
@@ -487,15 +499,33 @@ class CanvasDraw extends utils_1.DisposableImpl {
487
499
  // 场景里的 symbols;
488
500
  this.currentSymbols = this.currentSymbols.concat(currentSymbols);
489
501
  if (content.children) {
490
- this.setComponentSymbolsToLoader(scene, content.children);
502
+ this.setComponentSymbolsToLoader(content.children);
491
503
  }
492
504
  this.oldSymbols = this.currentSymbols;
493
505
  }
506
+ getSceneSymbolToValue() {
507
+ var _a, _b;
508
+ const scene = (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.scene;
509
+ if (!scene)
510
+ return scene;
511
+ const t = Object.assign({}, scene);
512
+ Object.keys(scene).forEach((c) => {
513
+ const v = t[c];
514
+ if (v && typeof v === 'string') {
515
+ const matched = v.match(/^\$\{([^\}]+)\}$/);
516
+ if (matched) {
517
+ const symbolId = matched[1];
518
+ const symbol = this.currentSymbols.find(s => s.id === symbolId);
519
+ t[c] = symbol === null || symbol === void 0 ? void 0 : symbol.value;
520
+ }
521
+ }
522
+ });
523
+ return t;
524
+ }
494
525
  /**
495
526
  * 获取画布的宽高
496
527
  */
497
- getSceneSize() {
498
- var _a, _b, _c, _d, _e, _f, _g, _h;
528
+ getSceneSize(scene = this.getSceneSymbolToValue()) {
499
529
  if (!this.data)
500
530
  return undefined;
501
531
  const { content, appConfig } = this.data;
@@ -503,12 +533,12 @@ class CanvasDraw extends utils_1.DisposableImpl {
503
533
  return undefined;
504
534
  if (content.displayType === 'component') {
505
535
  if (this.data.engineName === 'dom') {
506
- const w = ((_a = content.scene) === null || _a === void 0 ? void 0 : _a.scrollXBool)
507
- ? ((_b = content.scene) === null || _b === void 0 ? void 0 : _b.contentWidth) || ((_c = content.scene) === null || _c === void 0 ? void 0 : _c.width)
508
- : (_d = content.scene) === null || _d === void 0 ? void 0 : _d.width;
509
- const h = ((_e = content.scene) === null || _e === void 0 ? void 0 : _e.scrollYBool)
510
- ? ((_f = content.scene) === null || _f === void 0 ? void 0 : _f.contentHeight) || ((_g = content.scene) === null || _g === void 0 ? void 0 : _g.height)
511
- : (_h = content.scene) === null || _h === void 0 ? void 0 : _h.height;
536
+ const w = (scene === null || scene === void 0 ? void 0 : scene.scrollXBool)
537
+ ? (scene === null || scene === void 0 ? void 0 : scene.contentWidth) || (scene === null || scene === void 0 ? void 0 : scene.width)
538
+ : scene === null || scene === void 0 ? void 0 : scene.width;
539
+ const h = (scene === null || scene === void 0 ? void 0 : scene.scrollYBool)
540
+ ? (scene === null || scene === void 0 ? void 0 : scene.contentHeight) || (scene === null || scene === void 0 ? void 0 : scene.height)
541
+ : scene === null || scene === void 0 ? void 0 : scene.height;
512
542
  return {
513
543
  width: w || 400,
514
544
  height: h || 400,
@@ -519,7 +549,7 @@ class CanvasDraw extends utils_1.DisposableImpl {
519
549
  return render_engine_1.GameConfig.getSceneSize(appConfig, content);
520
550
  }
521
551
  draw() {
522
- var _a, _b;
552
+ var _a;
523
553
  if (!this.data)
524
554
  return;
525
555
  const { visible, appConfig, content, engineName } = this.data;
@@ -528,9 +558,18 @@ class CanvasDraw extends utils_1.DisposableImpl {
528
558
  this.startLoadLibs();
529
559
  return;
530
560
  }
531
- const size = this.getSceneSize();
532
- if (!content || !appConfig || !this.libLoaded || !size)
561
+ if (!content || !appConfig || !this.libLoaded)
562
+ return;
563
+ this.currentSymbols = [];
564
+ /**
565
+ * 取出子级是组件的 symbols;
566
+ */
567
+ this.symbolsToCurrent(content);
568
+ const sceneData = this.getSceneSymbolToValue();
569
+ const size = this.getSceneSize(sceneData);
570
+ if (!size) {
533
571
  return;
572
+ }
534
573
  this.engineName =
535
574
  (content.displayType === render_engine_1.GameObjectBaseType.COMPONENT &&
536
575
  ((_a = content.scene) === null || _a === void 0 ? void 0 : _a.engine)) ||
@@ -540,18 +579,13 @@ class CanvasDraw extends utils_1.DisposableImpl {
540
579
  return;
541
580
  let backgroundColor;
542
581
  if (engineName === 'dom' && content.displayType === 'component') {
543
- backgroundColor = (_b = content.scene) === null || _b === void 0 ? void 0 : _b.backgroundColor;
582
+ backgroundColor = sceneData === null || sceneData === void 0 ? void 0 : sceneData.backgroundColor;
544
583
  }
545
584
  const scene = this.renderWidget.switchScene(SCENE_KEY, {
546
585
  size,
547
586
  backgroundColor,
548
587
  });
549
588
  // 绘制时清除 currentSymbol;
550
- this.currentSymbols = [];
551
- /**
552
- * 取出子级是组件的 symbols;
553
- */
554
- this.symbolsToCurrent(scene, content);
555
589
  /**
556
590
  * 更新画布大小
557
591
  */
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-draw.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-draw.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gedit/editor-2d",
3
- "version": "0.2.62",
3
+ "version": "0.2.64",
4
4
  "license": "MIT",
5
5
  "main": "lib/browser/index",
6
6
  "typings": "lib/browser/index.d.ts",
@@ -39,5 +39,5 @@
39
39
  "nyc": {
40
40
  "extends": "../../configs/nyc.json"
41
41
  },
42
- "gitHead": "e643a65f2c638d58a858282f9bbfe0c3680badc6"
42
+ "gitHead": "2878f4d9609cfd63bd6746e5d703749a16b6af6a"
43
43
  }
@@ -242,11 +242,15 @@ export class CanvasDraw extends DisposableImpl {
242
242
  }
243
243
  return false;
244
244
  }
245
- addComponentSymbolsMetaToLoader(scene: GameSceneIDE): void {
245
+ addComponentSymbolsMetaToLoader(): void {
246
246
  if (this.currentSymbols.length) {
247
247
  this.currentSymbols.forEach(c => {
248
248
  // 数组模式只支持 url;
249
249
  if (c.meta && typeof c.value === 'string') {
250
+ const scene =
251
+ this.renderWidget?.getSceneByKey(SCENE_KEY) ||
252
+ this.renderWidget?.createScene(SCENE_KEY);
253
+ if (!scene) return;
250
254
  scene.loader.addMetaByObject(c.value, c.meta);
251
255
  }
252
256
  });
@@ -264,10 +268,14 @@ export class CanvasDraw extends DisposableImpl {
264
268
  const snaplineEntity = this.opts.entityManager?.getEntity<SnaplineConfigEntity>(
265
269
  SnaplineConfigEntity
266
270
  );
267
- if (!snaplineEntity) {
271
+ if (!snaplineEntity || !node.scene) {
268
272
  return;
269
273
  }
270
- if (node.scene?.scrollXBool || node.scene?.scrollYBool) {
274
+ const scene: any = toNodeData(
275
+ node.scene as any,
276
+ ((node as unknown) as ComponentGameObjectData).component?.symbols || []
277
+ );
278
+ if (scene?.scrollXBool || scene?.scrollYBool) {
271
279
  snaplineEntity.updateConfig({
272
280
  lines: [
273
281
  {
@@ -281,7 +289,7 @@ export class CanvasDraw extends DisposableImpl {
281
289
  id: 'component_scene_top',
282
290
  color: '#fff000',
283
291
  horizontal: true,
284
- start: { x: 0, y: node.scene?.height || 400 },
292
+ start: { x: 0, y: scene?.height || 400 },
285
293
  strokeWidth: 1,
286
294
  },
287
295
  {
@@ -295,7 +303,7 @@ export class CanvasDraw extends DisposableImpl {
295
303
  id: 'component_scene_right',
296
304
  color: 'red',
297
305
  vertical: true,
298
- start: { x: node.scene?.width || 400, y: 0 },
306
+ start: { x: scene?.width || 400, y: 0 },
299
307
  strokeWidth: 1,
300
308
  },
301
309
  ],
@@ -312,7 +320,7 @@ export class CanvasDraw extends DisposableImpl {
312
320
  const renderKeys: string[] = [];
313
321
  if (!content) return;
314
322
  // 场景是组件的情况,把组件里的 symbols 的 meta 添加到 loader;
315
- this.addComponentSymbolsMetaToLoader(scene);
323
+ this.addComponentSymbolsMetaToLoader();
316
324
  this.allCount = this.updateGameObject(scene, content, 0, renderKeys);
317
325
  // 删除节点
318
326
  this.lastRenderKeys.forEach(key => {
@@ -362,6 +370,10 @@ export class CanvasDraw extends DisposableImpl {
362
370
  .concat(children);
363
371
  const component = this.opts.getComponentContent(compId, node, true);
364
372
  componentScene = component?.[0]?.scene;
373
+ if (componentScene) {
374
+ const symbols = GameObjectData.getComponentSymbols(component![0], node);
375
+ componentScene = toNodeData(componentScene, symbols);
376
+ }
365
377
  // 内部节点
366
378
  childInside = true;
367
379
  // 组件开启吸附
@@ -420,57 +432,58 @@ export class CanvasDraw extends DisposableImpl {
420
432
  }
421
433
  gameObjectCache.set(nodePath, gameObject);
422
434
  const updateParent = (
423
- node?: Editor2dNode,
435
+ n?: Editor2dNode,
424
436
  obj?: GameObject,
425
437
  type: GameObjectEventType = GameObjectEventType.UPDATE
426
438
  ) => {
427
439
  // 如果父级是组件或分组更新中心点;
428
- if (node && obj && !Editor2dNode.isRootNode(node)) {
440
+ if (n && obj && !Editor2dNode.isRootNode(n)) {
429
441
  this.onGameObjectChangeEmitter.fire({
430
442
  type,
431
443
  gameObject: obj!,
432
- node: node!,
444
+ node: n!,
433
445
  });
434
- if (node.parent && obj.parent) {
435
- updateParent(node.parent, obj.parent, type);
446
+ if (n.parent && obj.parent) {
447
+ updateParent(n.parent, obj.parent, type);
436
448
  }
437
449
  }
438
450
  };
439
451
  scene.onGameObjectDispose(gameObject, () => {
440
- const node = this.nodeCache.get(nodePath)!;
452
+ const n = this.nodeCache.get(nodePath)!;
441
453
  this.onGameObjectChangeEmitter.fire({
442
454
  type: GameObjectEventType.DESTROY,
443
455
  gameObject: gameObject!,
444
- node,
456
+ node: n,
445
457
  });
446
- updateParent(node, gameObject);
458
+ updateParent(n, gameObject);
447
459
  this.gameObjectCache.delete(nodePath);
448
460
  this.nodeVersionCache.delete(nodePath);
449
461
  this.nodeCache.delete(nodePath);
450
462
  this.maskCache.delete(nodePath);
451
463
  });
452
464
  scene.onGameObjectUpdate(gameObject, () => {
453
- const node = this.nodeCache.get(nodePath);
465
+ const n = this.nodeCache.get(nodePath);
466
+ if (!n) return;
454
467
  /* this.onGameObjectChangeEmitter.fire({
455
468
  type: GameObjectEventType.UPDATE,
456
469
  gameObject: gameObject!,
457
470
  node: node!,
458
471
  }); */
459
472
  // 初始化的 size 为 0; 大小在 getSelectionData 里靠 render 后的实例获取,这里只更改 node 的 size;
460
- if (gameObject && node) {
473
+ if (gameObject && n) {
461
474
  const register = this.opts.renderEngine.getGameObjectIDERegister(
462
475
  gameObject!.scene.config.engine,
463
476
  gameObject!.type
464
477
  );
465
478
  const data = register.getSelectionData?.(gameObject, this.lastZoom);
466
479
  if (data) {
467
- node.size = data.size;
480
+ n.size = data.size;
468
481
  gameObject.data.size = { ...data.size };
469
482
  }
470
483
  }
471
484
  // 更新父级
472
- updateParent(node, gameObject);
473
- this.switchSnapline(node);
485
+ updateParent(n, gameObject);
486
+ this.switchSnapline(n);
474
487
  });
475
488
  scene.onGameObjectCreate(gameObject, () => {
476
489
  this.nodeVersionCache.set(nodePath, newVersion);
@@ -601,10 +614,7 @@ export class CanvasDraw extends DisposableImpl {
601
614
  this.draw();
602
615
  }
603
616
 
604
- setComponentSymbolsToLoader(
605
- scene: GameSceneIDE,
606
- child: GameObjectData[] = []
607
- ): void {
617
+ setComponentSymbolsToLoader(child: GameObjectData[] = []): void {
608
618
  child.forEach((item: ComponentGameObjectData) => {
609
619
  if (item.displayType === GameObjectBaseType.COMPONENT && item.component) {
610
620
  const { id } = item.component;
@@ -618,16 +628,16 @@ export class CanvasDraw extends DisposableImpl {
618
628
  ).filter(c => !this.currentSymbols.some(d => d.id === c.id));
619
629
  // 变量数据更新
620
630
  this.currentSymbols = this.currentSymbols.concat(currentSymbols);
621
- this.addComponentSymbolsMetaToLoader(scene);
631
+ this.addComponentSymbolsMetaToLoader();
622
632
  }
623
633
  if (item.children) {
624
- this.setComponentSymbolsToLoader(scene, item.children);
634
+ this.setComponentSymbolsToLoader(item.children);
625
635
  }
626
636
  }
627
637
  });
628
638
  }
629
639
 
630
- symbolsToCurrent(scene: GameSceneIDE, content: Editor2dNode): void {
640
+ symbolsToCurrent(content: Editor2dNode): void {
631
641
  // const currentSymbols = getCurrentSymbols(this.data!.appConfig!, content);
632
642
  const currentSymbols = getCurrentSymbols(
633
643
  this.data!.appConfig!,
@@ -641,26 +651,44 @@ export class CanvasDraw extends DisposableImpl {
641
651
  // 场景里的 symbols;
642
652
  this.currentSymbols = this.currentSymbols.concat(currentSymbols);
643
653
  if (content.children) {
644
- this.setComponentSymbolsToLoader(scene, content.children);
654
+ this.setComponentSymbolsToLoader(content.children);
645
655
  }
646
656
  this.oldSymbols = this.currentSymbols;
647
657
  }
648
658
 
659
+ getSceneSymbolToValue(): GameObjectData['scene'] | undefined {
660
+ const scene = this.data?.content?.scene;
661
+ if (!scene) return scene;
662
+ const t: GameObjectData['scene'] = { ...scene };
663
+ Object.keys(scene).forEach((c: keyof typeof t) => {
664
+ const v: string | number | boolean | undefined = t[c];
665
+ if (v && typeof v === 'string') {
666
+ const matched = v.match(/^\$\{([^\}]+)\}$/);
667
+ if (matched) {
668
+ const symbolId = matched[1];
669
+ const symbol = this.currentSymbols.find(s => s.id === symbolId);
670
+ t[c] = symbol?.value as any;
671
+ }
672
+ }
673
+ });
674
+ return t;
675
+ }
676
+
649
677
  /**
650
678
  * 获取画布的宽高
651
679
  */
652
- getSceneSize(): SizeSchema | undefined {
680
+ getSceneSize(scene: GameObjectData['scene'] = this.getSceneSymbolToValue()): SizeSchema | undefined {
653
681
  if (!this.data) return undefined;
654
682
  const { content, appConfig } = this.data;
655
683
  if (!appConfig || !content) return undefined;
656
684
  if (content.displayType === 'component') {
657
685
  if (this.data.engineName === 'dom') {
658
- const w = content.scene?.scrollXBool
659
- ? content.scene?.contentWidth || content.scene?.width
660
- : content.scene?.width;
661
- const h = content.scene?.scrollYBool
662
- ? content.scene?.contentHeight || content.scene?.height
663
- : content.scene?.height;
686
+ const w = scene?.scrollXBool
687
+ ? scene?.contentWidth || scene?.width
688
+ : scene?.width;
689
+ const h = scene?.scrollYBool
690
+ ? scene?.contentHeight || scene?.height
691
+ : scene?.height;
664
692
  return {
665
693
  width: w || 400,
666
694
  height: h || 400,
@@ -678,8 +706,19 @@ export class CanvasDraw extends DisposableImpl {
678
706
  this.startLoadLibs();
679
707
  return;
680
708
  }
681
- const size = this.getSceneSize();
682
- if (!content || !appConfig || !this.libLoaded || !size) return;
709
+
710
+ if (!content || !appConfig || !this.libLoaded) return;
711
+
712
+ this.currentSymbols = [];
713
+ /**
714
+ * 取出子级是组件的 symbols;
715
+ */
716
+ this.symbolsToCurrent(content);
717
+ const sceneData = this.getSceneSymbolToValue();
718
+ const size = this.getSceneSize(sceneData);
719
+ if (!size) {
720
+ return;
721
+ }
683
722
  this.engineName =
684
723
  (content.displayType === GameObjectBaseType.COMPONENT &&
685
724
  content.scene?.engine) ||
@@ -689,7 +728,7 @@ export class CanvasDraw extends DisposableImpl {
689
728
 
690
729
  let backgroundColor;
691
730
  if (engineName === 'dom' && content.displayType === 'component') {
692
- backgroundColor = content.scene?.backgroundColor;
731
+ backgroundColor = sceneData?.backgroundColor;
693
732
  }
694
733
 
695
734
  const scene = this.renderWidget.switchScene(SCENE_KEY, {
@@ -697,11 +736,6 @@ export class CanvasDraw extends DisposableImpl {
697
736
  backgroundColor,
698
737
  });
699
738
  // 绘制时清除 currentSymbol;
700
- this.currentSymbols = [];
701
- /**
702
- * 取出子级是组件的 symbols;
703
- */
704
- this.symbolsToCurrent(scene, content);
705
739
  /**
706
740
  * 更新画布大小
707
741
  */
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2020 GEdit
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.