@gedit/editor-2d 0.1.38 → 0.1.43

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.
@@ -1,4 +1,4 @@
1
- import { Layer } from '@gedit/playground';
1
+ import { Layer, SizeSchema } from '@gedit/playground';
2
2
  import { DocumentEntity } from './entities';
3
3
  import { PlaygroundContext2d } from './playground-context';
4
4
  import { Editor2dDocument, Editor2dNode } from '../model';
@@ -16,7 +16,7 @@ export declare class CanvasLayer extends Layer<PlaygroundContext2d> {
16
16
  documentEntity: DocumentEntity;
17
17
  node: HTMLDivElement;
18
18
  protected gameObjectCache: Map<string, GameObject>;
19
- protected gameObjectTextureMap: Map<string, string>;
19
+ protected gameObjectTextureMap: Map<string, string | undefined>;
20
20
  protected gameObjectStateMap: Map<string, GameObjectState>;
21
21
  protected nodeVersionCache: Map<string, string>;
22
22
  protected lastRenderKeys: string[];
@@ -25,10 +25,11 @@ export declare class CanvasLayer extends Layer<PlaygroundContext2d> {
25
25
  protected selectionEntityManager: SelectionEntityManager;
26
26
  protected renderWidgetDispose: Disposable | undefined;
27
27
  protected waitToDispose: Disposable | undefined;
28
- protected appConfig?: AppConfigData;
28
+ protected pixelArt: boolean;
29
29
  private booted;
30
30
  private libLoaded;
31
31
  private libLoading;
32
+ private allCount;
32
33
  startLoadLibs(): Promise<void>;
33
34
  onReady(): void;
34
35
  /**
@@ -42,13 +43,15 @@ export declare class CanvasLayer extends Layer<PlaygroundContext2d> {
42
43
  updateGameObjects(scene: GameSceneIDE, document: Editor2dDocument): void;
43
44
  updateGameObject(scene: GameSceneIDE, document: Editor2dDocument, node: Editor2dNode, depth: number, renderKeys: string[], isInside?: boolean): number;
44
45
  get document(): Editor2dDocument | undefined;
46
+ toTextureId(textureId?: string): string | undefined;
45
47
  /**
46
48
  * 加载完成
47
49
  */
48
50
  updateLoadingPercent(allLoaded: boolean): void;
49
51
  onZoom(scale: number): void;
50
52
  private currentRectangle;
51
- tryToResizeToCenter(): void;
53
+ private currentResolution;
54
+ tryToResizeToCenter(size?: SizeSchema): void;
52
55
  draw(): void;
53
56
  }
54
57
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAe,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAc,MAAM,8BAA8B,CAAC;AAOzE,UAAU,eAAe;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,WAAY,SAAQ,KAAK,CAAC,mBAAmB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IACvD,IAAI,iBAAqD;IACzD,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAC/D,SAAS,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAChE,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAa;IACvE,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAC5D,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,CAAM;IACxC,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACzD,SAAS,CAAC,mBAAmB,EAAE,UAAU,GAAG,SAAS,CAAC;IACtD,SAAS,CAAC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACpC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IACrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC,OAAO,IAAI,IAAI;IAef;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAkD3F,YAAY,IAAI,MAAM;IAKtB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAiBxE,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,MAAM;IAsG7J,IAAI,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAE3C;IAED;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAiB9C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B,OAAO,CAAC,gBAAgB,CAAwB;IAChD,mBAAmB,IAAI,IAAI;IAW3B,IAAI,IAAI,IAAI;CAkCb"}
1
+ {"version":3,"file":"canvas-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAc,MAAM,8BAA8B,CAAC;AAOzE,UAAU,eAAe;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,WAAY,SAAQ,KAAK,CAAC,mBAAmB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IACvD,IAAI,iBAAqD;IACzD,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAC/D,SAAS,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAa;IAC5E,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAa;IACvE,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAC5D,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,CAAM;IACxC,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACzD,SAAS,CAAC,mBAAmB,EAAE,UAAU,GAAG,SAAS,CAAC;IACtD,SAAS,CAAC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAM;IAChB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC,OAAO,IAAI,IAAI;IAef;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAkD3F,YAAY,IAAI,MAAM;IAKtB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAiBxE,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,MAAM;IAyG7J,IAAI,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAE3C;IACD,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWnD;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAiB9C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,mBAAmB,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI;IAe5C,IAAI,IAAI,IAAI;CAkCb"}
@@ -91,7 +91,7 @@ var selection_entity_manager_1 = require("./selection-entity-manager");
91
91
  var common_1 = require("@gedit/app-config/lib/common");
92
92
  var CANVAS_MIN_WIDTH = 1500;
93
93
  var CANVAS_MIN_HEIGHT = 1500;
94
- var WAIT_TO_DISPOSE_TIME = 60000; // 延迟删除, 这样tab在频繁切换时候不会有延迟
94
+ var WAIT_TO_DISPOSE_TIME = 30000; // 延迟删除, 这样tab在频繁切换时候不会有延迟
95
95
  var SCENE_KEY = 'boot';
96
96
  var CanvasLayer = /** @class */ (function (_super) {
97
97
  __extends(CanvasLayer, _super);
@@ -106,6 +106,8 @@ var CanvasLayer = /** @class */ (function (_super) {
106
106
  _this.booted = false;
107
107
  _this.libLoaded = false;
108
108
  _this.libLoading = false;
109
+ _this.allCount = -1;
110
+ _this.currentResolution = 1;
109
111
  return _this;
110
112
  }
111
113
  CanvasLayer.prototype.startLoadLibs = function () {
@@ -145,12 +147,12 @@ var CanvasLayer = /** @class */ (function (_super) {
145
147
  this.waitToDispose.dispose();
146
148
  this.waitToDispose = undefined;
147
149
  }
148
- // 应用配置更新则重新创建画布
149
- if (appConfig !== this.appConfig && this.renderWidget) {
150
+ // pixlerArt 更新的话则重新创建
151
+ if (appConfig.pixelArt !== this.pixelArt && this.renderWidget) {
150
152
  this.renderWidget.dispose();
151
153
  }
152
154
  if (visible && !this.renderWidget) {
153
- this.appConfig = appConfig;
155
+ this.pixelArt = appConfig.pixelArt;
154
156
  var element_1 = window.document.createElement('canvas');
155
157
  this.node.appendChild(element_1);
156
158
  appConfig = common_1.toAutoSize(appConfig);
@@ -192,7 +194,7 @@ var CanvasLayer = /** @class */ (function (_super) {
192
194
  var root = document.root;
193
195
  if (!root)
194
196
  return;
195
- this.updateGameObject(scene, document, root, 0, renderKeys);
197
+ this.allCount = this.updateGameObject(scene, document, root, 0, renderKeys);
196
198
  // 删除节点
197
199
  this.lastRenderKeys.forEach(function (key) {
198
200
  if (!renderKeys.includes(key)) {
@@ -248,14 +250,14 @@ var CanvasLayer = /** @class */ (function (_super) {
248
250
  if (!gameObject) {
249
251
  var gameObjectChildren = children ? children.map(function (c) { return gameObjectCache.get(model_1.Editor2dNode.getNodePath(c)); }) : [];
250
252
  try {
251
- gameObject = scene.createAuto(node.displayType, __assign(__assign({}, node), { id: nodePath, depth: currentDepth, parentId: parentId }), gameObjectChildren);
253
+ gameObject = scene.createAuto(node.displayType, __assign(__assign({}, node), { id: nodePath, textureId: this.toTextureId(node.textureId), depth: currentDepth, parentId: parentId }), gameObjectChildren);
252
254
  }
253
255
  catch (e) {
254
256
  console.error(e);
255
257
  return depth;
256
258
  }
257
259
  // 标记并缓存当前texture
258
- this.gameObjectTextureMap.set(nodePath, gameObject.getTextureId ? gameObject.getTextureId() : '');
260
+ this.gameObjectTextureMap.set(nodePath, this.toTextureId(node.textureId));
259
261
  gameObjectCache.set(nodePath, gameObject);
260
262
  scene.onGameObjectDispose(gameObject, function () {
261
263
  _this.gameObjectCache.delete(nodePath);
@@ -290,7 +292,7 @@ var CanvasLayer = /** @class */ (function (_super) {
290
292
  firstCreate = true;
291
293
  }
292
294
  if (gameObject && gameObject.getTextureId) {
293
- gameObject.data.textureId = node.textureId;
295
+ gameObject.data.textureId = this.toTextureId(node.textureId);
294
296
  var oldTexture = this.gameObjectTextureMap.get(nodePath);
295
297
  var newTexture = gameObject.getTextureId();
296
298
  // 素材更新则销毁重新创建
@@ -302,7 +304,7 @@ var CanvasLayer = /** @class */ (function (_super) {
302
304
  var update = function () {
303
305
  var oldVersion = _this.nodeVersionCache.get(nodePath);
304
306
  if (oldVersion !== newVersion) {
305
- gameObject.update(__assign(__assign({}, node), { depth: currentDepth }));
307
+ gameObject.update(__assign(__assign({}, node), { parentId: parentId, id: nodePath, textureId: _this.toTextureId(node.textureId), depth: currentDepth }));
306
308
  _this.nodeVersionCache.set(nodePath, newVersion);
307
309
  }
308
310
  };
@@ -320,25 +322,37 @@ var CanvasLayer = /** @class */ (function (_super) {
320
322
  enumerable: false,
321
323
  configurable: true
322
324
  });
325
+ CanvasLayer.prototype.toTextureId = function (textureId) {
326
+ var _a;
327
+ if (!textureId)
328
+ return textureId;
329
+ if (textureId.match(/^symbol\//)) {
330
+ var symbols = ((_a = this.documentEntity.config.appConfig) === null || _a === void 0 ? void 0 : _a.symbols) || [];
331
+ var symbolId_1 = textureId.replace(/^symbol\//, '');
332
+ var symbol = symbols.find(function (s) { return s.id === symbolId_1; });
333
+ return symbol ? symbol.value : undefined;
334
+ }
335
+ return textureId;
336
+ };
323
337
  /**
324
338
  * 加载完成
325
339
  */
326
340
  CanvasLayer.prototype.updateLoadingPercent = function (allLoaded) {
327
- var _a;
328
- if (this.config.loading) {
329
- var allCount = ((_a = this.document) === null || _a === void 0 ? void 0 : _a.length) || 0;
330
- var currentCount = utils_1.iterToArray(this.gameObjectStateMap.values()).filter(function (v) { return !v.isInside; }).length;
331
- if (allLoaded || allCount === currentCount || allCount === 0) {
332
- this.config.loading = false;
333
- this.tryToResizeToCenter();
334
- this.node.classList.add('ready');
335
- this.context.onCanvasDataChanged(this.renderWidget);
336
- }
337
- else {
338
- this.config.updateConfig({
339
- loadingHTML: Math.round(currentCount / allCount * 100) + "%"
340
- });
341
- }
341
+ var allCount = this.allCount;
342
+ var currentCount = this.gameObjectStateMap.size;
343
+ if (allLoaded || allCount <= currentCount || allCount === 0) {
344
+ if (!this.config.loading)
345
+ return;
346
+ this.config.loading = false;
347
+ this.tryToResizeToCenter();
348
+ this.node.classList.add('ready');
349
+ this.context.onCanvasDataChanged(this.renderWidget);
350
+ }
351
+ else {
352
+ this.config.loading = true;
353
+ this.config.updateConfig({
354
+ loadingHTML: Math.round(currentCount / allCount * 100) + "%"
355
+ });
342
356
  }
343
357
  };
344
358
  CanvasLayer.prototype.onZoom = function (scale) {
@@ -346,16 +360,20 @@ var CanvasLayer = /** @class */ (function (_super) {
346
360
  transform: "scale(" + scale + ")"
347
361
  });
348
362
  };
349
- CanvasLayer.prototype.tryToResizeToCenter = function () {
363
+ CanvasLayer.prototype.tryToResizeToCenter = function (size) {
350
364
  var _a;
351
- var size = (_a = this.document) === null || _a === void 0 ? void 0 : _a.getSceneSize();
352
- if (!size || this.config.loading)
365
+ var _b = this.documentEntity.config, visible = _b.visible, appConfig = _b.appConfig;
366
+ var resolution = (appConfig === null || appConfig === void 0 ? void 0 : appConfig.resolution) || 1;
367
+ size = size || ((_a = this.document) === null || _a === void 0 ? void 0 : _a.getSceneSize());
368
+ if (!visible || !size || this.config.loading || this.config.config.width === 0 || this.config.config.height === 0)
353
369
  return;
354
370
  var newRect = new math_1.Rectangle(0, 0, size.width, size.height);
355
- if (!this.currentRectangle || !this.currentRectangle.isEqual(newRect)) {
371
+ if (!this.currentRectangle || !this.currentRectangle.isEqual(newRect) || this.currentResolution !== resolution) {
356
372
  this.currentRectangle = newRect;
373
+ this.currentResolution = resolution;
374
+ this.config.updateConfig({ resolution: resolution });
357
375
  this.config.setPageBounds(newRect);
358
- this.config.scrollPageBoundsToCenter(true, 10, !this.context.options.isTemplate);
376
+ this.config.scrollPageBoundsToCenter(true, 20, !this.context.options.isTemplate);
359
377
  }
360
378
  };
361
379
  CanvasLayer.prototype.draw = function () {
@@ -371,11 +389,11 @@ var CanvasLayer = /** @class */ (function (_super) {
371
389
  this.toggleVisible(document, appConfig, visible);
372
390
  if (!this.renderWidget || !this.booted)
373
391
  return;
374
- var scene = this.renderWidget.switchScene(SCENE_KEY, size);
392
+ var scene = this.renderWidget.switchScene(SCENE_KEY, size, appConfig.backgroundColor);
375
393
  /**
376
394
  * 尝试触发居中
377
395
  */
378
- this.tryToResizeToCenter();
396
+ this.tryToResizeToCenter(size);
379
397
  /**
380
398
  * 更新canvas数据
381
399
  */
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-layer.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-layer.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":"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"}
@@ -48,14 +48,14 @@ var PlaygroundContribution2d = /** @class */ (function () {
48
48
  this.appConfig.onConfigChange(function (data) {
49
49
  _this.updateAppConfigData(data, playground);
50
50
  }));
51
- playground.onRestoreState(function () {
52
- _this.appConfig.getConfigData().then(function (data) { return _this.updateAppConfigData(data, playground); });
53
- });
51
+ // playground.onRestoreState(() => {
52
+ // this.appConfig.getConfigData().then(data => this.updateAppConfigData(data, playground));
53
+ // });
54
54
  };
55
55
  PlaygroundContribution2d.prototype.updateAppConfigData = function (data, playground) {
56
56
  // const snaplineEntity = playground.getConfigEntity<SnaplineConfigEntity>(SnaplineConfigEntity);
57
57
  // 更新分辨率
58
- playground.config.updateConfig({ resolution: data.resolution });
58
+ // playground.config.updateConfig({ resolution: data.resolution });
59
59
  // if (!this.modelOpts.isTemplate) {
60
60
  // const lines: Snapline[] = [];
61
61
  // lines.push({
@@ -1 +1 @@
1
- {"version":3,"file":"playground-contribution.js","sourceRoot":"","sources":["../../../src/browser/playground/playground-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA+C;AAC/C,gDAO2B;AAC3B,+CAA6C;AAC7C,yDAAsD;AACtD,sDAAsD;AACtD,gDAAoE;AACpE,8CAAyD;AAGzD;IAAA;IA2DA,CAAC;IAxDC,qDAAkB,GAAlB,UAAmB,QAA4B;QAC7C,QAAQ,CAAC,aAAa,CAAC,0BAAW,CAAC,CAAC;QACpC,QAAQ,CAAC,aAAa,CAAC,mCAAe,CAAC,CAAC;QACxC,0CAA0C;IAC5C,CAAC;IACD,0CAAO,GAAP,UAAQ,UAAsB;QAA9B,iBA0BC;QAzBC,OAAO;QACP,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,UAAU;QACV,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC7B,UAAU,CAAC,eAAe,CAAoB,8BAAiB,CAAC,CAAC,YAAY,CAAC;gBAC5E,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,UAAU,CAAC,eAAe,CAAsB,gCAAmB,CAAC,CAAC,YAAY,CAAC;gBAChF,OAAO,EAAE,KAAK;gBACd,qBAAqB,EAAE,KAAK;aAC7B,CAAC,CAAC;SACJ;QACD,UAAU,CAAC,eAAe,CAAuB,iCAAoB,CAAC,CAAC,YAAY,CAAC;YAClF,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,UAAU,CAAC,SAAS,CAAC,IAAI;QACvB,oBAAoB;QACpB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAA,IAAI;YAChC,KAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC,CAAC,CACH,CAAC;QACF,UAAU,CAAC,cAAc,CAAC;YACxB,KAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,EAA1C,CAA0C,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAmB,GAAnB,UAAoB,IAAmB,EAAE,UAAsB;QAC7D,iGAAiG;QACjG,QAAQ;QACR,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAChE,oCAAoC;QACpC,kCAAkC;QAClC,iBAAiB;QACjB,qBAAqB;QACrB,8CAA8C;QAC9C,sBAAsB;QACtB,sBAAsB;QACtB,QAAQ;QACR,iBAAiB;QACjB,qBAAqB;QACrB,8CAA8C;QAC9C,wBAAwB;QACxB,sBAAsB;QACtB,QAAQ;QACR,kCAAkC;QAClC,aAAa;QACb,gCAAgC;QAChC,QAAQ;QACR,IAAI;IACN,CAAC;IAzDyB;QAAzB,kBAAM,CAAC,6BAAgB,CAAC;kCAAqB,6BAAgB;+DAAC;IACjC;QAA7B,kBAAM,CAAC,+BAAoB,CAAC;;+DAA0C;IAF5D,wBAAwB;QADpC,sBAAU,EAAE;OACA,wBAAwB,CA2DpC;IAAD,+BAAC;CAAA,AA3DD,IA2DC;AA3DY,4DAAwB"}
1
+ {"version":3,"file":"playground-contribution.js","sourceRoot":"","sources":["../../../src/browser/playground/playground-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA+C;AAC/C,gDAO2B;AAC3B,+CAA6C;AAC7C,yDAAsD;AACtD,sDAAsD;AACtD,gDAAoE;AACpE,8CAAyD;AAGzD;IAAA;IA2DA,CAAC;IAxDC,qDAAkB,GAAlB,UAAmB,QAA4B;QAC7C,QAAQ,CAAC,aAAa,CAAC,0BAAW,CAAC,CAAC;QACpC,QAAQ,CAAC,aAAa,CAAC,mCAAe,CAAC,CAAC;QACxC,0CAA0C;IAC5C,CAAC;IACD,0CAAO,GAAP,UAAQ,UAAsB;QAA9B,iBA0BC;QAzBC,OAAO;QACP,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,UAAU;QACV,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC7B,UAAU,CAAC,eAAe,CAAoB,8BAAiB,CAAC,CAAC,YAAY,CAAC;gBAC5E,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,UAAU,CAAC,eAAe,CAAsB,gCAAmB,CAAC,CAAC,YAAY,CAAC;gBAChF,OAAO,EAAE,KAAK;gBACd,qBAAqB,EAAE,KAAK;aAC7B,CAAC,CAAC;SACJ;QACD,UAAU,CAAC,eAAe,CAAuB,iCAAoB,CAAC,CAAC,YAAY,CAAC;YAClF,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,UAAU,CAAC,SAAS,CAAC,IAAI;QACvB,oBAAoB;QACpB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAA,IAAI;YAChC,KAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC,CAAC,CACH,CAAC;QACF,oCAAoC;QACpC,6FAA6F;QAC7F,MAAM;IACR,CAAC;IACD,sDAAmB,GAAnB,UAAoB,IAAmB,EAAE,UAAsB;QAC7D,iGAAiG;QACjG,QAAQ;QACR,mEAAmE;QACnE,oCAAoC;QACpC,kCAAkC;QAClC,iBAAiB;QACjB,qBAAqB;QACrB,8CAA8C;QAC9C,sBAAsB;QACtB,sBAAsB;QACtB,QAAQ;QACR,iBAAiB;QACjB,qBAAqB;QACrB,8CAA8C;QAC9C,wBAAwB;QACxB,sBAAsB;QACtB,QAAQ;QACR,kCAAkC;QAClC,aAAa;QACb,gCAAgC;QAChC,QAAQ;QACR,IAAI;IACN,CAAC;IAzDyB;QAAzB,kBAAM,CAAC,6BAAgB,CAAC;kCAAqB,6BAAgB;+DAAC;IACjC;QAA7B,kBAAM,CAAC,+BAAoB,CAAC;;+DAA0C;IAF5D,wBAAwB;QADpC,sBAAU,EAAE;OACA,wBAAwB,CA2DpC;IAAD,+BAAC;CAAA,AA3DD,IA2DC;AA3DY,4DAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gedit/editor-2d",
3
- "version": "0.1.38",
3
+ "version": "0.1.43",
4
4
  "license": "MIT",
5
5
  "main": "lib/browser/index",
6
6
  "typings": "lib/browser/index.d.ts",
@@ -9,11 +9,11 @@
9
9
  "src"
10
10
  ],
11
11
  "dependencies": {
12
- "@gedit/app-config": "^0.1.37",
13
- "@gedit/editor": "^0.1.37",
14
- "@gedit/playground": "^0.1.37",
15
- "@gedit/render-engine-ide": "^0.1.37",
16
- "@gedit/workspace-2d": "^0.1.37",
12
+ "@gedit/app-config": "^0.1.43",
13
+ "@gedit/editor": "^0.1.43",
14
+ "@gedit/playground": "^0.1.43",
15
+ "@gedit/render-engine-ide": "^0.1.43",
16
+ "@gedit/workspace-2d": "^0.1.43",
17
17
  "json-stringify-pretty-compact": "^2.0.0"
18
18
  },
19
19
  "geditExtensions": [
@@ -34,5 +34,5 @@
34
34
  "nyc": {
35
35
  "extends": "../../configs/nyc.json"
36
36
  },
37
- "gitHead": "1ec58b0dd56849d324e85057f54957a9e2d9c8ed"
37
+ "gitHead": "a2770cd752ca48b418a3deeab3421f408a5c0058"
38
38
  }
package/src/.DS_Store ADDED
Binary file
Binary file
@@ -1,18 +1,18 @@
1
- import { entity, Layer } from '@gedit/playground';
1
+ import { entity, Layer, SizeSchema } from '@gedit/playground';
2
2
  import { DocumentEntity } from './entities';
3
3
  import { domUtils } from '@gedit/utils/lib/browser';
4
4
  import { PlaygroundContext2d } from './playground-context';
5
5
  import { Editor2dDocument, Editor2dNode } from '../model';
6
6
  import { GameObject } from '@gedit/render-engine';
7
7
  import { GameSceneIDE, GameWidgetIDE } from '@gedit/render-engine-ide';
8
- import { Disposable, iterToArray } from '@gedit/utils';
8
+ import { Disposable } from '@gedit/utils';
9
9
  import { Rectangle } from '@gedit/math';
10
10
  import { SelectionEntityManager } from './selection-entity-manager';
11
11
  import { AppConfigData, toAutoSize } from '@gedit/app-config/lib/common';
12
12
 
13
13
  const CANVAS_MIN_WIDTH = 1500;
14
14
  const CANVAS_MIN_HEIGHT = 1500;
15
- const WAIT_TO_DISPOSE_TIME = 60000; // 延迟删除, 这样tab在频繁切换时候不会有延迟
15
+ const WAIT_TO_DISPOSE_TIME = 30000; // 延迟删除, 这样tab在频繁切换时候不会有延迟
16
16
  const SCENE_KEY = 'boot';
17
17
 
18
18
  interface GameObjectState {
@@ -25,7 +25,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
25
25
  @entity(DocumentEntity) documentEntity: DocumentEntity;
26
26
  node = domUtils.createDivWithClass('gedit-canvas-layer');
27
27
  protected gameObjectCache: Map<string, GameObject> = new Map();
28
- protected gameObjectTextureMap: Map<string, string> = new Map();
28
+ protected gameObjectTextureMap: Map<string, string | undefined> = new Map();
29
29
  protected gameObjectStateMap: Map<string, GameObjectState> = new Map();
30
30
  protected nodeVersionCache: Map<string, string> = new Map();
31
31
  protected lastRenderKeys: string[] = [];
@@ -34,10 +34,11 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
34
34
  protected selectionEntityManager: SelectionEntityManager;
35
35
  protected renderWidgetDispose: Disposable | undefined;
36
36
  protected waitToDispose: Disposable | undefined; // 延迟删除
37
- protected appConfig?: AppConfigData;
37
+ protected pixelArt: boolean;
38
38
  private booted: boolean = false;
39
39
  private libLoaded = false;
40
40
  private libLoading = false;
41
+ private allCount = -1;
41
42
  async startLoadLibs(): Promise<void> {
42
43
  await this.context.renderEngine.loadIDELibs();
43
44
  this.libLoaded = true;
@@ -69,12 +70,12 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
69
70
  this.waitToDispose.dispose();
70
71
  this.waitToDispose = undefined;
71
72
  }
72
- // 应用配置更新则重新创建画布
73
- if (appConfig !== this.appConfig && this.renderWidget) {
73
+ // pixlerArt 更新的话则重新创建
74
+ if (appConfig.pixelArt !== this.pixelArt && this.renderWidget) {
74
75
  this.renderWidget.dispose();
75
76
  }
76
77
  if (visible && !this.renderWidget) {
77
- this.appConfig = appConfig;
78
+ this.pixelArt = appConfig.pixelArt;
78
79
  const element = window.document.createElement('canvas');
79
80
  this.node.appendChild(element);
80
81
  appConfig = toAutoSize(appConfig);
@@ -123,7 +124,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
123
124
  const renderKeys: string[] = [];
124
125
  const root = document.root;
125
126
  if (!root) return;
126
- this.updateGameObject(scene, document, root, 0, renderKeys);
127
+ this.allCount = this.updateGameObject(scene, document, root, 0, renderKeys);
127
128
  // 删除节点
128
129
  this.lastRenderKeys.forEach(key => {
129
130
  if (!renderKeys.includes(key)) {
@@ -168,7 +169,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
168
169
  const gameObjectChildren = children ? children.map(c => gameObjectCache.get(Editor2dNode.getNodePath(c))!) : [];
169
170
  try {
170
171
  gameObject = scene.createAuto(node.displayType,
171
- {...node, id: nodePath, depth: currentDepth, parentId },
172
+ {...node, id: nodePath, textureId: this.toTextureId(node.textureId), depth: currentDepth, parentId },
172
173
  gameObjectChildren,
173
174
  );
174
175
  } catch (e) {
@@ -176,7 +177,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
176
177
  return depth;
177
178
  }
178
179
  // 标记并缓存当前texture
179
- this.gameObjectTextureMap.set(nodePath, gameObject.getTextureId ? gameObject.getTextureId() : '');
180
+ this.gameObjectTextureMap.set(nodePath, this.toTextureId(node.textureId));
180
181
  gameObjectCache.set(nodePath, gameObject);
181
182
  scene.onGameObjectDispose(gameObject, () => {
182
183
  this.gameObjectCache.delete(nodePath);
@@ -211,7 +212,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
211
212
  firstCreate = true;
212
213
  }
213
214
  if (gameObject && gameObject.getTextureId) {
214
- gameObject.data.textureId = node.textureId;
215
+ gameObject.data.textureId = this.toTextureId(node.textureId);
215
216
  const oldTexture = this.gameObjectTextureMap.get(nodePath);
216
217
  const newTexture = gameObject.getTextureId();
217
218
  // 素材更新则销毁重新创建
@@ -225,6 +226,9 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
225
226
  if (oldVersion !== newVersion) {
226
227
  gameObject!.update({
227
228
  ...node,
229
+ parentId,
230
+ id: nodePath,
231
+ textureId: this.toTextureId(node.textureId),
228
232
  depth: currentDepth,
229
233
  });
230
234
  this.nodeVersionCache.set(nodePath, newVersion);
@@ -241,24 +245,34 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
241
245
  get document(): Editor2dDocument | undefined {
242
246
  return this.documentEntity.config.document;
243
247
  }
248
+ toTextureId(textureId?: string): string | undefined {
249
+ if (!textureId) return textureId;
250
+ if (textureId.match(/^symbol\//)) {
251
+ const symbols = this.documentEntity.config.appConfig?.symbols || [];
252
+ const symbolId = textureId.replace(/^symbol\//, '');
253
+ const symbol = symbols.find(s => s.id === symbolId);
254
+ return symbol ? symbol.value : undefined;
255
+ }
256
+ return textureId;
257
+ }
244
258
 
245
259
  /**
246
260
  * 加载完成
247
261
  */
248
262
  updateLoadingPercent(allLoaded: boolean): void {
249
- if (this.config.loading) {
250
- const allCount = this.document?.length || 0;
251
- const currentCount = iterToArray<GameObjectState>(this.gameObjectStateMap.values()).filter(v => !v.isInside).length;
252
- if (allLoaded || allCount === currentCount || allCount === 0) {
253
- this.config.loading = false;
254
- this.tryToResizeToCenter();
255
- this.node.classList.add('ready');
256
- this.context.onCanvasDataChanged(this.renderWidget);
257
- } else {
258
- this.config.updateConfig({
259
- loadingHTML: `${Math.round(currentCount / allCount * 100)}%`
260
- });
261
- }
263
+ const allCount = this.allCount;
264
+ const currentCount = this.gameObjectStateMap.size;
265
+ if (allLoaded || allCount <= currentCount || allCount === 0) {
266
+ if (!this.config.loading) return;
267
+ this.config.loading = false;
268
+ this.tryToResizeToCenter();
269
+ this.node.classList.add('ready');
270
+ this.context.onCanvasDataChanged(this.renderWidget);
271
+ } else {
272
+ this.config.loading = true;
273
+ this.config.updateConfig({
274
+ loadingHTML: `${Math.round(currentCount / allCount * 100)}%`
275
+ });
262
276
  }
263
277
  }
264
278
 
@@ -268,14 +282,19 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
268
282
  });
269
283
  }
270
284
  private currentRectangle: Rectangle | undefined;
271
- tryToResizeToCenter(): void {
272
- const size = this.document?.getSceneSize();
273
- if (!size || this.config.loading) return;
285
+ private currentResolution = 1;
286
+ tryToResizeToCenter(size?: SizeSchema): void {
287
+ const { visible, appConfig } = this.documentEntity.config;
288
+ const resolution = appConfig?.resolution || 1;
289
+ size = size || this.document?.getSceneSize();
290
+ if (!visible || !size || this.config.loading || this.config.config.width === 0 || this.config.config.height === 0) return;
274
291
  const newRect = new Rectangle(0, 0, size.width, size.height);
275
- if (!this.currentRectangle || !this.currentRectangle.isEqual(newRect)) {
292
+ if (!this.currentRectangle || !this.currentRectangle.isEqual(newRect) || this.currentResolution !== resolution) {
276
293
  this.currentRectangle = newRect;
294
+ this.currentResolution = resolution;
295
+ this.config.updateConfig({ resolution });
277
296
  this.config.setPageBounds(newRect);
278
- this.config.scrollPageBoundsToCenter(true, 10, !this.context.options.isTemplate);
297
+ this.config.scrollPageBoundsToCenter(true, 20, !this.context.options.isTemplate);
279
298
  }
280
299
  }
281
300
 
@@ -290,11 +309,11 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
290
309
  if (!document || !appConfig || !this.libLoaded || !size) return;
291
310
  this.toggleVisible(document, appConfig, visible);
292
311
  if (!this.renderWidget || !this.booted) return;
293
- const scene = this.renderWidget.switchScene(SCENE_KEY, size);
312
+ const scene = this.renderWidget.switchScene(SCENE_KEY, size, appConfig.backgroundColor);
294
313
  /**
295
314
  * 尝试触发居中
296
315
  */
297
- this.tryToResizeToCenter();
316
+ this.tryToResizeToCenter(size);
298
317
  /**
299
318
  * 更新canvas数据
300
319
  */
@@ -45,14 +45,14 @@ export class PlaygroundContribution2d implements PlaygroundContribution {
45
45
  this.updateAppConfigData(data, playground);
46
46
  })
47
47
  );
48
- playground.onRestoreState(() => {
49
- this.appConfig.getConfigData().then(data => this.updateAppConfigData(data, playground));
50
- });
48
+ // playground.onRestoreState(() => {
49
+ // this.appConfig.getConfigData().then(data => this.updateAppConfigData(data, playground));
50
+ // });
51
51
  }
52
52
  updateAppConfigData(data: AppConfigData, playground: Playground): void {
53
53
  // const snaplineEntity = playground.getConfigEntity<SnaplineConfigEntity>(SnaplineConfigEntity);
54
54
  // 更新分辨率
55
- playground.config.updateConfig({ resolution: data.resolution });
55
+ // playground.config.updateConfig({ resolution: data.resolution });
56
56
  // if (!this.modelOpts.isTemplate) {
57
57
  // const lines: Snapline[] = [];
58
58
  // lines.push({