@gedit/editor-2d 0.2.16 → 0.2.17
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.
- package/lib/browser/model/editor2d-document.d.ts +12 -1
- package/lib/browser/model/editor2d-document.d.ts.map +1 -1
- package/lib/browser/model/editor2d-document.js +25 -1
- package/lib/browser/model/editor2d-document.js.map +1 -1
- package/lib/browser/playground/canvas-draw.d.ts +2 -0
- package/lib/browser/playground/canvas-draw.d.ts.map +1 -1
- package/lib/browser/playground/canvas-draw.js +26 -34
- package/lib/browser/playground/canvas-draw.js.map +1 -1
- package/package.json +7 -7
- package/src/browser/model/editor2d-document.ts +96 -16
- package/src/browser/playground/canvas-draw.ts +28 -31
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EditorDocument, EditorDocumentChangeEvent } from '@gedit/editor';
|
|
2
2
|
import { Disposable, Emitter, Event, MaybePromise, URI } from '@gedit/utils';
|
|
3
3
|
import { Editor2dContainerNode, Editor2dModelOptions, Editor2dNode } from './editor2d';
|
|
4
|
-
import { GameObject, GameObjectType } from '@gedit/render-engine';
|
|
4
|
+
import { GameConfig, GameObject, GameObjectType } from '@gedit/render-engine';
|
|
5
5
|
import { GameObjectDecoration, RenderEngineIDEService } from '@gedit/render-engine-ide';
|
|
6
6
|
import { Tree, TreeImpl, TreeNode } from '@gedit/tree';
|
|
7
7
|
import { ResourceAutoSaveService } from '@gedit/resource/lib/browser';
|
|
@@ -18,6 +18,7 @@ export declare const Editor2dComponentProvider: unique symbol;
|
|
|
18
18
|
*/
|
|
19
19
|
export interface Editor2dComponentProvider {
|
|
20
20
|
getComponentContent(compPath: string, parentNode: Editor2dNode): Editor2dNode[] | undefined;
|
|
21
|
+
getComponentSymbols(compPath: string, compNode?: Editor2dNode): GameConfig.Symbol[];
|
|
21
22
|
onComponentChanged: Event<URI>;
|
|
22
23
|
onLoad: Event<void>;
|
|
23
24
|
}
|
|
@@ -51,6 +52,16 @@ export declare class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dCon
|
|
|
51
52
|
*/
|
|
52
53
|
changeResource(uri: string): Promise<void>;
|
|
53
54
|
getComponentContent(compPath: string, parentNode: Editor2dNode): Editor2dNode[] | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* 获取对应组件的变量
|
|
57
|
+
* @param compPath
|
|
58
|
+
* @param compNode
|
|
59
|
+
*/
|
|
60
|
+
getComponentSymbols(compPath: string, compNode?: Editor2dNode): GameConfig.Symbol[];
|
|
61
|
+
/**
|
|
62
|
+
* 获取当前画布的变量
|
|
63
|
+
*/
|
|
64
|
+
getCurrentSymbols(): GameConfig.Symbol[];
|
|
54
65
|
createDisplayNode<E extends Editor2dNode = Editor2dNode>(displayType: GameObjectType, parent?: Editor2dNode, position?: PositionSchema, index?: number, data?: Partial<Editor2dNode>): E;
|
|
55
66
|
copyNode(targetNode?: Editor2dNode): Editor2dNode | undefined;
|
|
56
67
|
copyToParentNode(parentNode: Editor2dNode, nodeData: Editor2dNode, index?: number, position?: PositionSchema): Editor2dNode | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor2d-document.d.ts","sourceRoot":"","sources":["../../../src/browser/model/editor2d-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAGL,UAAU,EACV,OAAO,EACP,KAAK,EACL,YAAY,EAIZ,GAAG,EACJ,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,qBAAqB,EAErB,oBAAoB,EACpB,YAAY,EAEb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"editor2d-document.d.ts","sourceRoot":"","sources":["../../../src/browser/model/editor2d-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,6 +147,27 @@ let Editor2dDocument = class Editor2dDocument extends tree_1.TreeImpl {
|
|
|
147
147
|
return undefined;
|
|
148
148
|
return this.componentProvider.getComponentContent(compPath, parentNode);
|
|
149
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* 获取对应组件的变量
|
|
152
|
+
* @param compPath
|
|
153
|
+
* @param compNode
|
|
154
|
+
*/
|
|
155
|
+
getComponentSymbols(compPath, compNode) {
|
|
156
|
+
if (!this.componentProvider)
|
|
157
|
+
return [];
|
|
158
|
+
return this.componentProvider.getComponentSymbols(compPath, compNode);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* 获取当前画布的变量
|
|
162
|
+
*/
|
|
163
|
+
getCurrentSymbols() {
|
|
164
|
+
var _a;
|
|
165
|
+
const symbols = ((_a = this.appConfig.getConfigDataBySync()) === null || _a === void 0 ? void 0 : _a.symbols) || [];
|
|
166
|
+
if (this.root && this.root.displayType === 'component') {
|
|
167
|
+
return symbols.concat(render_engine_1.GameObjectData.getComponentSymbols(this.root));
|
|
168
|
+
}
|
|
169
|
+
return symbols;
|
|
170
|
+
}
|
|
150
171
|
createDisplayNode(displayType, parent, position, index, data) {
|
|
151
172
|
let parentNode;
|
|
152
173
|
if (!parent || editor2d_1.Editor2dNode.isRootNode(parent)) {
|
|
@@ -160,7 +181,10 @@ let Editor2dDocument = class Editor2dDocument extends tree_1.TreeImpl {
|
|
|
160
181
|
if (attrs.position) {
|
|
161
182
|
if (!position) {
|
|
162
183
|
const pos = 100 + Math.round(Math.random() * 100);
|
|
163
|
-
position = (displayType !== render_engine_1.GameObjectBaseType.GROUP && displayType !== render_engine_1.GameObjectBaseType.COMPONENT) ? {
|
|
184
|
+
position = (displayType !== render_engine_1.GameObjectBaseType.GROUP && displayType !== render_engine_1.GameObjectBaseType.COMPONENT) ? {
|
|
185
|
+
x: pos,
|
|
186
|
+
y: pos
|
|
187
|
+
} : { x: 0, y: 0 };
|
|
164
188
|
}
|
|
165
189
|
attrs.position.x = position.x;
|
|
166
190
|
attrs.position.y = position.y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor2d-document.js","sourceRoot":"","sources":["../../../src/browser/model/editor2d-document.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor2d-document.js","sourceRoot":"","sources":["../../../src/browser/model/editor2d-document.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAyD;AAEzD,wCAWsB;AACtB,yCAOoB;AACpB,wDAAkH;AAClH,gEAAwF;AACxF,sCAA8F;AAC9F,yDAAsE;AACtE,kDAAmD;AAEnD,sDAA+D;AAC/D,8CAAqE;AACrE,kDAAqD;AACrD,2DAAuD;AACvD,sEAAsE;AAEzD,QAAA,aAAa,GAAqB;IAC7C,kCAAkB,CAAC,KAAK;IACxB,kCAAkB,CAAC,SAAS;IAC5B,kCAAkB,CAAC,IAAI;IACvB,kCAAkB,CAAC,MAAM;IACzB,kCAAkB,CAAC,OAAO;IAC1B,kCAAkB,CAAC,IAAI;IACvB,kCAAkB,CAAC,QAAQ;IAC3B,kCAAkB,CAAC,SAAS;CAC7B,CAAC;AACW,QAAA,gBAAgB,GAAqB;IAChD,kCAAkB,CAAC,KAAK;IACxB,kCAAkB,CAAC,SAAS;CAC7B,CAAC;AAEF,IAAI,SAAS,GAAG,CAAC,CAAC;AAEL,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAetE,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,eAA6C;IAuBjF,YAC6C,OAAuB,EACjB,OAA6B,EACjC,gBAAkC,EAC3B,uBAAgD,EAC/C,eAAyC,EACrD,aAAqC,EAC3C,SAA2B,EACN,iBAA6C;QAErG,KAAK,EAAE,CAAC;QATmC,YAAO,GAAP,OAAO,CAAgB;QACjB,YAAO,GAAP,OAAO,CAAsB;QACjC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC3B,4BAAuB,GAAvB,uBAAuB,CAAyB;QAC/C,oBAAe,GAAf,eAAe,CAA0B;QACrD,kBAAa,GAAb,aAAa,CAAwB;QAC3C,cAAS,GAAT,SAAS,CAAkB;QACN,sBAAiB,GAAjB,iBAAiB,CAA4B;QA7B7F,4BAAuB,GAAG,IAAI,eAAO,EAA+D,CAAC;QACrG,mBAAc,GAAG,IAAI,eAAO,EAA+D,CAAC;QAC7F,qBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;QACtD,YAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACtC,qBAAgB,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAa,EAAE,CAAC,CAAC,cAAc;QAC7C,kBAAa,GAAW,CAAC,CAAC;QAC1B,iBAAY,GAAW,CAAC,CAAC;QACvB,WAAM,GAAuB,EAAE,CAAC;QAC1C,qEAAqE;QAC3D,eAAU,GAAU,EAAE,CAAC;QAC1B,YAAO,GAAG,IAAI,CAAC;QAyWtB,uBAAkB,GAAG,CAAC,KAAqB,EAAE,IAAiC,EAAE,MAAgB,EAAE,cAAwB,EAAQ,EAAE;YAClI,wBAAwB;YACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,EAAE,SAAS,CAAC;YACjC,IAAI,CAAC,cAAc,EAAE;gBACnB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;aAC5F;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE;gBAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,SAAS,EAAE;oBAC1C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;iBACvB;gBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;aACnF;QACH,CAAC,CAAC;QA8fM,oBAAe,GAAsH,IAAI,OAAO,EAAE,CAAC;QAh2BzJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,kBAAkB;QAClB,qDAAqD;QACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrG,SAAS;QACT,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE;gBACrD,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS;YACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAA,gBAAQ,EAAC,CAAC,OAAY,EAAE,EAAE;gBACtF,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,QAAQ,EAAE,EAAE;oBACnC,OAAO;iBACR;gBACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE;oBACtC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;iBAC7C;YACH,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SACZ;QACD,OAAO;QACP,sEAAsE;QACtE,6BAA6B;QAC7B,OAAO;QACP,OAAO;QACP,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IA9CD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IACnC,CAAC;IA0CS,oBAAoB,CAAC,OAAY;;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,oCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;mBACjB,IAAI,CAAC,WAAW,KAAK,kCAAkB,CAAC,SAAS;mBACjD,IAAI,WAAG,CAAC,MAAC,IAAY,CAAC,SAAS,0CAAE,EAAE,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,EAC3E;gBACA,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,GAAW;QAC9B,MAAM,MAAM,GAAG,IAAI,WAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,MAAM;IACN,gBAAgB;IAChB,qBAAqB;IACrB,uBAAuB;IACvB,MAAM;IACN,mBAAmB,CAAC,QAAgB,EAAE,UAAwB;QAC5D,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAC9C,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,QAAgB,EAAE,QAAuB;QAC3D,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,iBAAiB;;QACf,MAAM,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,0CAAE,OAAO,KAAI,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;YACtD,OAAO,OAAO,CAAC,MAAM,CAAC,8BAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACtE;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iBAAiB,CACf,WAA2B,EAAE,MAAqB,EAAE,QAAyB,EAAE,KAAc,EAAE,IAA4B;QAC3H,IAAI,UAAiC,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,uBAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC9C,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAY,CAAC,YAAY,CAA0B,CAAC;SAC/E;aAAM;YACL,UAAU,GAAG,uBAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SACnD;QACD,+FAA+F;QAC/F,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACrF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;gBAClD,QAAQ,GAAG,CAAC,WAAW,KAAK,kCAAkB,CAAC,KAAK,IAAI,WAAW,KAAK,kCAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACtG,CAAC,EAAE,GAAG;oBACN,CAAC,EAAE,GAAG;iBACP,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;aAClB;YACD,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC9B,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC9B,kBAAkB;YAClB,mCAAmC;YACnC,mCAAmC;YACnC,0BAA0B;YAC1B,sDAAsD;YACtD,sDAAsD;YACtD,IAAI;SACL;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAC7B,UAAU,CAAC,QAAQ,IAAI,EAAE,EACzB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3G,MAAM,IAAI,GAAG,uBAAY,CAAC,UAAU,+CAAK,KAAK,GAAK,IAAI,KAAE,IAAI,KAAG,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACjH,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,IAAS,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,UAAyB;QAChC,IAAI,CAAC,UAAU,IAAI,uBAAY,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO;QAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,MAA0C,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO;QAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAsB,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,gBAAgB,CAAC,UAAwB,EAAE,QAAsB,EAAE,KAAc,EAAE,QAAyB;QAC1G,IAAI,MAAM,GAAsC,SAAS,CAAC;QAC1D,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC1D,MAAM,GAAG,UAAmC,CAAC;SAC9C;aAAM,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC7F,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;SAC5B;QACD,IAAI,MAAM,EAAE;YACV,MAAM,OAAO,GAAG,uBAAY,CAAC,KAAK,CAAC,QAAwB,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1F,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACpB,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;gBACrE,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;aACtE;YACD,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,IAAI,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE;oBAChC,KAAK,GAAI,MAAM,CAAC,QAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;oBACvF,IAAI,KAAK,GAAG,CAAC,EAAE;wBACb,KAAK,GAAG,CAAC,CAAC;qBACX;iBACF;qBAAM;oBACL,KAAK,GAAG,CAAC,CAAC;iBACX;aACF;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAmB,EAAE,QAAQ,CAAC,IAAK,CAAC,CAAC;YAC3F,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;YAC/B,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAsB,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE;gBACb,QAAQ,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAChC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxB;YACD,YAAY;YACZ,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACnC,wBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,OAAO,CAAC;SAEhB;IACH,CAAC;IAED,cAAc,CAAC,IAAmB;QAChC,MAAM,QAAQ,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAA2B,CAAC;QACnD,MAAM,UAAU,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClE,kBAAkB;QAClB,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,CAAC,UAAU,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA,EAAE;YACnD,0BAA0B;YAC1B,4DAA4D;YAC5D,gBAAgB;YAChB,IAAI,CAAC,eAAe,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,CAAC,CAAC;YAC5C,kCAAkC;YAClC,IAAI,UAAU,EAAE;gBACd,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;gBACxC,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE;oBAC1C,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC;iBACpB;gBACD,IAAI,CAAC,eAAe,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,EAAE,IAAI,CAAC,CAAC;aACnD;SACF;IACH,CAAC;IAED,OAAO,CAAC,UAAyB,EAAE,MAAgB;QACjD,IAAI,CAAC,UAAU,IAAI,uBAAY,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO;QAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,MAA0C,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5B,wBAAiB,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,uBAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACpE,uBAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;SACjD;IACH,CAAC;IAED,QAAQ,CAAC,GAAG,WAA2B;QACrC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SAChD;IACH,CAAC;IAED,MAAM,CAAC,UAAoC,EAAE,IAAY;QACvD,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,uBAAY,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO;QACxE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,IAAkB,EAAE,UAAiC,EAAE,QAAgB,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC1B;QACD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnD,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,wBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACpD,UAAiC,CAAC,QAAQ,GAAG,IAAI,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzB,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAkB,EAAE,QAAQ,GAAG,IAAI;QAC5C,IAAI,wBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,IAA6B,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,UAAU,CAAC,IAA2B,EAAE,OAA8B,EAAE,EAAE,cAAuB,KAAK,EAAE,MAAgB,EAAE,cAAwB;QAChJ,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,mBAAmB;QACnB,sBAAsB;QACtB,iGAAiG;QACjG,+CAA+C;QAC/C,MAAM;QACN,IAAI;QACJ,yBAAyB;QACzB,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE;YAC9C,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO;SACR;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3E,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9B,QAAQ,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,mDAAmD;YACnD,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;SACvE;IACH,CAAC;IAED;;;;;OAKG;IACO,aAAa,CAAC,QAAwB,EAAE,IAAY,EAAE,IAAY,CAAC;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,IAAI,UAAU,EAAE;YACd,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3E;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAClD;QACD,OAAO,OAAO,CAAC;QACf;;;;;;;;;;uBAUe;IACjB,CAAC;IAED,WAAW,CAAC,QAAsB;QAChC,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAmB,CAAC;SAC/E;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,aAAa,CAAC,OAAe;QACrC,IAAI,IAAI,GAAoB,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAoB,CAAC;SACvD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;SAC7C;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACzC,IAAI,CAAC,OAAe,CAAC,OAAO,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;SAClC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,uBAAuB;QACvB,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;IACH,CAAC;IAES,cAAc;QACtB,MAAM,IAAI,GAAG,uBAAY,CAAC,cAAc,CAAC,IAAI,WAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,WAAW,KAAK,kCAAkB,CAAC,KAAK,EAAE;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,kCAAkB,CAAC,KAAK,CAAC,CAAC;YACxG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAkBD,IAAI;QACF,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAAA,CAAC;IAEF,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACO,SAAS,CAAC,IAAkB;QACpC,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC5C;QACD,4BAA4B;QAC5B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACvD;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,WAAW;YACX,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;SACvB;IACH,CAAC;IAES,cAAc,CAAC,IAAkB;QACzC,mCAAmC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAA2B,CAAC;QAClD,MAAM,UAAU,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1F,cAAc;QACd,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;YACzC,iCAAiC;YACjC,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAC1C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC;aACzB;YACD,wBAAwB;YACxB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC5C;YACD,EAAE;YACF,0DAA0D;SAC3D;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE;YACtB,wCAAwC;YACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;SACrD;IACH,CAAC;IAES,eAAe,CAAC,IAAe,EAAE,EAAW;QACpD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,MAAM,CAAC,GAAG,IAAoB,CAAC;QAC/B,eAAe;QACf,IAAI,CAAC,qBAAa,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;YACnE,OAAO;SACR;QACD,oCAAoC;QACpC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE;YACjB,oCAAoC;YACpC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;YACZ,0CAA0C;YAC1C,0CAA0C;SAC3C;QACD;;;;;WAKG;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,eAA+B,CAAC;QACtD,IACE,QAAQ;YACR,CAAC,CAAC,CAAC,UAAU;YACb,qBAAa,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EACrE;YACA,+BAA+B;YAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC/F;IACH,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,KAAqB,EAAE,IAAc;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,6CAA6C;YAC7C;;;;;eAKG;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,WAAW;YACX,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aACxE;YACD,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO;SACR;QACD;;;;;;WAMG;QACH,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,EAAE;gBAC1B,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,KAAK,CAAC,WAA2B,CAAC;QACxD,IAAI,EAAE,CAAC;QACP,wCAAwC;QACxC,IAAI,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YACnD,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC;SACzB;QACD,uCAAuC;QACvC,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE;YACpD,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;SACvB;QACD,IAAI,EAAE,EAAE;YACN,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,KAAqB,EAAE,MAAgB;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB;;;;WAIG;QACH,IAAI,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;YAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;SAC1B;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAA2B,CAAC;QAClD,IAAI,CAAC,MAAM,IAAI,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC9D,sBAAsB;YACtB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;SACvB;QACD,iDAAiD;QACjD,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,gDAAgD;QAChD,2BAA2B;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,KAAqB,EAAE,OAAiB;QACpD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAC,CAAC,CAAC;aAC1F;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,KAAqB,EAAE,MAAgB;QAChD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;gBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAkB,EAAE,KAAe;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAO,CAAC,QAAsB,CAAC;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAC9D,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAA0B,CAAC,CAAC;SACnD;IACH,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAAqB;QAC9B,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,wBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAO,EAAE,EAAE,CAAC,GAAG,wBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAO,EAAE,EAAE,CAAC,CAAC;YACvH,CAAC,CAAC,KAAK,CAAC;QACV,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAAqB;QAChC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,wBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAO,EAAE,EAAE,CAAC,GAAG,wBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAO,EAAE,EAAE,CAAC,CAAC;YACvH,CAAC,CAAC,KAAK,CAAC;QACV,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,IAAkB,EAAE,QAAkB;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAO,CAAC,QAAsB,CAAC;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/E,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAA0B,EAAE,IAAI,CAAC,CAAC;SACzD;IACH,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAkB,EAAE,UAAwB,EAAE,OAAiB;QACxE,IAAI,uBAAY,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,eAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;YAAE,OAAO;QACrF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAgC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA2B,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;QACnD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC3C,iFAAiF;QACjF,IAAI,CAAC,OAAO,EAAE;YACZ,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,eAAe,EAAE;gBACnB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE;oBAC7B,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;aACJ;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;gBAClB,MAAM;gBACN,eAAe;gBACf,WAAW,EAAE,UAAU;aACxB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;gBACxB,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;gBACxB,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;gBAClB,MAAM;gBACN,eAAe,EAAE,UAAU;gBAC3B,WAAW;aACZ,CAAC,CAAC;YACH,IAAI,WAAW,EAAE;gBACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;oBACzB,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;aACJ;SACF;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,qBAAqB,CAAC,KAAqB,EAAE,UAAwB;QACnE,QAAQ;QACR,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI,aAAa,EAAE;YACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAmC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB,CAAC,KAAqB,EAAE,UAAwB;QACnE,QAAQ;QACR,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAO,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3H,IAAI,eAAe,EAAE;YACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB;QACd,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,wCAAwC;QACxC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,IAAI,IAAK,IAAqB,CAAC,QAAQ,EAAE;gBAC3C,KAAK,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;aAClC;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,IAA0C;QACpD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;SAC7B;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChG,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE;YACpE,OAAO,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;SACtC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,gBAAgB,CAAC,IAA0C;QACzD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;SAC7B;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2BAA2B;QACzB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,uBAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,aAAa,CAAC,MAAoB,EAAE,EAAU;QAC5C,IAAI,MAAM,GAA6B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,MAAM,EAAE;YACb,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,GAAG,MAAM,CAAC,MAAkC,CAAC;SACpD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,CAAkB;QAC7B,aAAa;QACb,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,8DAA8D;YAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAa,CAAC;YACtC,MAAM,KAAK,GAAG,wBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,kCAAkB,CAAC,KAAK,EAAE,MAAsB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACzG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAA0C;QACtD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;YAChC,8DAA8D;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAa,CAAC;YACtC,MAAM,QAAQ,GAAG,wBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,QAA2B,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAe,EAAE,EAAE;gBAC9E,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,UAAgD,EAAE,gBAAgC,EAAE,SAAwB;QAC1H,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QAC9D,MAAM,UAAU,GAAG,uBAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QACrG,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAChG,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE;YACvC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC;YAClJ,IAAI,WAAW,IAAI,SAAS,CAAC,iBAAiB,KAAK,SAAS,EAAE;gBAC5D,WAAW,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;aAC5I;SACF;QACD,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC;QAC1G,MAAM,YAAY,GAAG,WAAW,IAAI,aAAa,CAAC;QAClD,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAChC,MAAM,QAAQ,GAAI,UAAoC,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtE,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,gBAAgB,CAAC,CAAC;YAC5E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;SACzC;QACD,IAAI,SAAS,CAAC,iBAAiB,KAAK,SAAS,EAAE;YAC7C,OAAO,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SAC1D;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,eAAe,CAAC,IAAkB,EAAE,OAAmC;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,mBAAmB,CAAC,CAAU;QAC5B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,oBAAoB,CAClB,YAA4B,EAC5B,YAAsF;QAEtF,gCAAgC;QAChC,8DAA8D;QAC9D,MAAM,sBAAsB,GAAQ,CAAC,CAAwB,EAAE,EAAU,EAAE,EAAE,CAC3E,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5G,IAAI,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC;QACnC,oBAAoB;QACpB;;oEAE4D;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC;YACnC,wBAAwB;YACxB,IAAI,CAAC,CAAC,KAAK,EAAE;gBACX,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;gBACxC,6BAA6B;gBAC3B;;;;;;;;;oBASI;gBACJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAC7E,CAAC;gBACF,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,eAAe;oBACf,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;iBAC7B;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,SAAS,CAAC,OAAO,EAAE,CAAC;gBACpB,kBAAkB;gBAClB;;;;;;;;;;;;;;;;;sBAiBM;gBACN,iCAAiC;gBACjC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACzB,CAAC;SACF,CAAC;IACJ,CAAC;IAID;;;OAGG;IACH,OAAO,CAAC,GAA2B;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,uBAAe,EAAqC,CAAC;QAC1E,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC7C,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAClC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;iBAClC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,IAAkB;QAC9B,OAAO,IAAA,iBAAS,EAAC,IAAA,YAAI,EAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IAED,MAAM;IACN,UAAU;IACV,gBAAgB;IAChB,MAAM;IACN,kDAAkD;IAClD,sIAAsI;IACtI,sBAAsB;IACtB,oCAAoC;IACpC,0EAA0E;IAC1E,MAAM;IACN,yFAAyF;IACzF,oBAAoB;IACpB,uDAAuD;IACvD,QAAQ;IACR,mCAAmC;IACnC,gCAAgC;IAChC,QAAQ;IACR,uHAAuH;IACvH,mBAAmB;IACnB,OAAO;IACP,2KAA2K;IAC3K,0BAA0B;IAC1B,8CAA8C;IAC9C,IAAI;IACJ,cAAc,CAAC,IAAkB;QAC/B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAChE,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChG,IAAI,QAAQ,CAAC,gBAAgB,EAAE;YAC7B,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACxC;aAAM;YACL,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC;IACxB,CAAC;IAED,iBAAiB,CAAC,KAAwB;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,oCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE;gBACtE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,uBAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAoC,MAAc;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,IAAI,EAAE;YACR,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,IAAI,KAAK,EAAE;gBACT,OAAO,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAM,CAAC;aACjD;SACF;IACH,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAqB,EAAE,IAAsC,EAAE,QAAgB,CAAC;QAC3F,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,QAAQ,GAAc,GAAG,CAAC;QAC9B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,QAAQ,IAAI,EAAE;YACZ,KAAK,MAAM;gBACT,SAAS,GAAG,CAAC,SAAS,CAAC;gBACvB,MAAM;YACR,KAAK,OAAO;gBACV,MAAM;YACR,KAAK,IAAI;gBACP,SAAS,GAAG,CAAC,SAAS,CAAC;gBACvB,QAAQ,GAAG,GAAG,CAAC;gBACf,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,GAAG,GAAG,CAAC;gBACf,MAAM;SACT;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAS,CAAC;YAChC,MAAM,WAAW,GAAG;gBAClB,CAAC,EAAE,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACzD,CAAC,EAAE,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC1D,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,KAAK;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC7D,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;SACvC;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,IAAkB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,QAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;CACF,CAAA;AAziCY,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;IAyBR,WAAA,IAAA,kBAAM,EAAC,2BAAc,CAAC,CAAA;IACtB,WAAA,IAAA,kBAAM,EAAC,+BAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,kBAAM,EAAC,2BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,iCAAuB,CAAC,CAAA;IAC/B,WAAA,IAAA,kBAAM,EAAC,uCAAwB,CAAC,CAAA;IAChC,WAAA,IAAA,kBAAM,EAAC,0CAAsB,CAAC,CAAA;IAC9B,WAAA,IAAA,kBAAM,EAAC,6BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,iCAAyB,CAAC,CAAA;IAAE,WAAA,IAAA,oBAAQ,GAAE,CAAA;qCAPM,2BAAc,oBAGW,iCAAuB;QAC9B,uCAAwB;QACtC,0CAAsB;QAChC,6BAAgB;GA9BrD,gBAAgB,CAyiC5B;AAziCY,4CAAgB"}
|
|
@@ -71,6 +71,8 @@ export declare class CanvasDraw extends DisposableImpl {
|
|
|
71
71
|
protected pixelArt: boolean;
|
|
72
72
|
renderWidget?: GameWidgetIDE;
|
|
73
73
|
private allCount;
|
|
74
|
+
private currentSymbols;
|
|
75
|
+
private symbolVersion;
|
|
74
76
|
readonly onDraw: import("@gedit/utils").Event<GameConfig.SceneSizeConfig>;
|
|
75
77
|
readonly onLoading: import("@gedit/utils").Event<CanvasDrawLoadingState>;
|
|
76
78
|
readonly onGameObjectChange: import("@gedit/utils").Event<GameObjectChangeEvent>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-draw.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAkB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"canvas-draw.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-draw.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,40 +13,21 @@ var GameObjectEventType;
|
|
|
13
13
|
GameObjectEventType[GameObjectEventType["UPDATE"] = 2] = "UPDATE";
|
|
14
14
|
GameObjectEventType[GameObjectEventType["ERROR"] = 3] = "ERROR";
|
|
15
15
|
})(GameObjectEventType = exports.GameObjectEventType || (exports.GameObjectEventType = {}));
|
|
16
|
-
function
|
|
17
|
-
if (!obj)
|
|
18
|
-
return originData;
|
|
19
|
-
(0, utils_1.each)(obj, (v, key) => {
|
|
20
|
-
var _a;
|
|
21
|
-
const currentPath = path ? `${path}.${key}` : key;
|
|
22
|
-
if (typeof v === 'string') {
|
|
23
|
-
let matched = v.match(/^\$\{([^\}]+)\}$/);
|
|
24
|
-
// 旧的写法, TODO 暂时做兼容
|
|
25
|
-
if (!matched && key === 'textureId') {
|
|
26
|
-
matched = v.match(/^symbol\/(.+)/);
|
|
27
|
-
}
|
|
28
|
-
if (matched) {
|
|
29
|
-
const symbolId = matched[1];
|
|
30
|
-
const symbolValue = ((_a = config.symbols.find(s => s.id === symbolId)) === null || _a === void 0 ? void 0 : _a.value) || '';
|
|
31
|
-
originData = (0, utils_1.setByKey)(originData, currentPath, symbolValue, true, true);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
else if (Array.isArray(v)) {
|
|
35
|
-
v.forEach((item, i) => {
|
|
36
|
-
originData = replaceSymbolKey(originData, config, item, `${currentPath}.${i}`);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
else if (typeof v === 'object') {
|
|
40
|
-
originData = replaceSymbolKey(originData, config, v, currentPath);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
return originData;
|
|
44
|
-
}
|
|
45
|
-
function toNodeData(node, config) {
|
|
16
|
+
function toNodeData(node, symbols) {
|
|
46
17
|
const originData = (0, utils_1.omit)(node, ['parent', 'previousSibling', 'nextSibling', 'children']);
|
|
47
|
-
return replaceSymbolKey(originData,
|
|
18
|
+
return render_engine_1.GameObjectData.replaceSymbolKey(originData, symbols, true, originData);
|
|
48
19
|
}
|
|
49
20
|
;
|
|
21
|
+
/**
|
|
22
|
+
* 获取当前画布的变量
|
|
23
|
+
*/
|
|
24
|
+
function getCurrentSymbols(appConfig, root) {
|
|
25
|
+
const symbols = appConfig.symbols || [];
|
|
26
|
+
if (root && root.displayType === 'component') {
|
|
27
|
+
return symbols.concat(render_engine_1.GameObjectData.getComponentSymbols(root));
|
|
28
|
+
}
|
|
29
|
+
return symbols;
|
|
30
|
+
}
|
|
50
31
|
/**
|
|
51
32
|
* 画布绘制逻辑
|
|
52
33
|
*/
|
|
@@ -68,6 +49,8 @@ class CanvasDraw extends utils_1.DisposableImpl {
|
|
|
68
49
|
this.maskCache = new Map();
|
|
69
50
|
this.lastRenderKeys = [];
|
|
70
51
|
this.allCount = -1;
|
|
52
|
+
this.currentSymbols = [];
|
|
53
|
+
this.symbolVersion = 0;
|
|
71
54
|
this.onDraw = this.onDrawEmitter.event;
|
|
72
55
|
this.onLoading = this.onLoadingEmitter.event;
|
|
73
56
|
this.onGameObjectChange = this.onGameObjectChangeEmitter.event;
|
|
@@ -164,6 +147,12 @@ class CanvasDraw extends utils_1.DisposableImpl {
|
|
|
164
147
|
const renderKeys = [];
|
|
165
148
|
if (!content)
|
|
166
149
|
return;
|
|
150
|
+
const currentSymbols = getCurrentSymbols(this.data.appConfig, content);
|
|
151
|
+
// 变量数据更新
|
|
152
|
+
if (JSON.stringify(currentSymbols) !== JSON.stringify(this.currentSymbols)) {
|
|
153
|
+
this.symbolVersion++;
|
|
154
|
+
this.currentSymbols = currentSymbols;
|
|
155
|
+
}
|
|
167
156
|
this.allCount = this.updateGameObject(scene, content, 0, renderKeys);
|
|
168
157
|
// 删除节点
|
|
169
158
|
this.lastRenderKeys.forEach(key => {
|
|
@@ -186,7 +175,7 @@ class CanvasDraw extends utils_1.DisposableImpl {
|
|
|
186
175
|
const selectable = !isInside && (!this.opts.isTemplate || !editor2d_1.Editor2dNode.isTemplateDisabled(node)); // 是否可被选中
|
|
187
176
|
let childInside = false;
|
|
188
177
|
if (compId) {
|
|
189
|
-
children = (this.opts.getComponentContent(compId, node) || []).slice().reverse();
|
|
178
|
+
children = (this.opts.getComponentContent(compId, node) || []).slice().reverse().concat(children);
|
|
190
179
|
// 内部节点
|
|
191
180
|
childInside = true;
|
|
192
181
|
// 拥有内部节点的父节点无法被吸附
|
|
@@ -208,8 +197,8 @@ class CanvasDraw extends utils_1.DisposableImpl {
|
|
|
208
197
|
this.nodeCache.set(nodePath, node);
|
|
209
198
|
}
|
|
210
199
|
let firstCreate = false;
|
|
211
|
-
const nodeData = toNodeData(node, this.
|
|
212
|
-
const newVersion = currentDepth + (node.version || 0) + ':' + (((_a = this.data) === null || _a === void 0 ? void 0 : _a.configVersion) || 0);
|
|
200
|
+
const nodeData = toNodeData(node, this.currentSymbols);
|
|
201
|
+
const newVersion = currentDepth + (node.version || 0) + ':' + (((_a = this.data) === null || _a === void 0 ? void 0 : _a.configVersion) || 0) + ':' + this.symbolVersion;
|
|
213
202
|
// 内部节点无法选中
|
|
214
203
|
if (!gameObject) {
|
|
215
204
|
const gameObjectChildren = children ? children.map(c => gameObjectCache.get(editor2d_1.Editor2dNode.getNodePath(c))) : [];
|
|
@@ -332,6 +321,9 @@ class CanvasDraw extends utils_1.DisposableImpl {
|
|
|
332
321
|
const { content, appConfig } = this.data;
|
|
333
322
|
if (!appConfig || !content)
|
|
334
323
|
return undefined;
|
|
324
|
+
if (content.displayType === 'component') {
|
|
325
|
+
return { width: 0, height: 0 };
|
|
326
|
+
}
|
|
335
327
|
return render_engine_1.GameConfig.getSceneSize(appConfig, content);
|
|
336
328
|
}
|
|
337
329
|
draw() {
|
|
@@ -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.
|
|
3
|
+
"version": "0.2.17",
|
|
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.2.
|
|
13
|
-
"@gedit/editor": "^0.2.
|
|
14
|
-
"@gedit/playground": "^0.2.
|
|
15
|
-
"@gedit/render-engine-ide": "^0.2.
|
|
16
|
-
"@gedit/workspace-2d": "^0.2.
|
|
12
|
+
"@gedit/app-config": "^0.2.14",
|
|
13
|
+
"@gedit/editor": "^0.2.1",
|
|
14
|
+
"@gedit/playground": "^0.2.3",
|
|
15
|
+
"@gedit/render-engine-ide": "^0.2.11",
|
|
16
|
+
"@gedit/workspace-2d": "^0.2.3",
|
|
17
17
|
"bezier-js": "^4.0.3",
|
|
18
18
|
"clsx": "^1.1.1",
|
|
19
19
|
"json-stringify-pretty-compact": "^2.0.0",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"nyc": {
|
|
38
38
|
"extends": "../../configs/nyc.json"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "158ed6ac704d614d27f4144e40675f4c8b9c7ed0"
|
|
41
41
|
}
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
Editor2dNode,
|
|
21
21
|
// Editor2dNodeCache,
|
|
22
22
|
} from './editor2d';
|
|
23
|
-
import { GameObject, GameObjectBaseType, GameObjectType } from '@gedit/render-engine';
|
|
23
|
+
import { GameConfig, GameObject, GameObjectBaseType, GameObjectData, GameObjectType } from '@gedit/render-engine';
|
|
24
24
|
import { GameObjectDecoration, RenderEngineIDEService } from '@gedit/render-engine-ide';
|
|
25
25
|
import { CompositeTreeNode, ExpandableTreeNode, Tree, TreeImpl, TreeNode } from '@gedit/tree';
|
|
26
26
|
import { ResourceAutoSaveService } from '@gedit/resource/lib/browser';
|
|
@@ -56,6 +56,9 @@ export const Editor2dComponentProvider = Symbol('Editor2dComponentProvider');
|
|
|
56
56
|
*/
|
|
57
57
|
export interface Editor2dComponentProvider {
|
|
58
58
|
getComponentContent(compPath: string, parentNode: Editor2dNode): Editor2dNode[] | undefined;
|
|
59
|
+
|
|
60
|
+
getComponentSymbols(compPath: string, compNode?: Editor2dNode): GameConfig.Symbol[]
|
|
61
|
+
|
|
59
62
|
onComponentChanged: Event<URI>;
|
|
60
63
|
onLoad: Event<void>;
|
|
61
64
|
}
|
|
@@ -79,6 +82,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
79
82
|
get uri(): string {
|
|
80
83
|
return this.options.autoSaveService.resource.uri.toString();
|
|
81
84
|
}
|
|
85
|
+
|
|
82
86
|
get engineName(): string {
|
|
83
87
|
return this.appConfig.engineName;
|
|
84
88
|
}
|
|
@@ -122,6 +126,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
122
126
|
// 同步数据
|
|
123
127
|
this.resourceAutoSaveService.sync();
|
|
124
128
|
}
|
|
129
|
+
|
|
125
130
|
protected hasIncludesComponent(compUri: URI): boolean {
|
|
126
131
|
if (!this.root) return false;
|
|
127
132
|
for (const node of new Editor2dIterator(this.root)) {
|
|
@@ -155,6 +160,27 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
155
160
|
return this.componentProvider.getComponentContent(compPath, parentNode);
|
|
156
161
|
}
|
|
157
162
|
|
|
163
|
+
/**
|
|
164
|
+
* 获取对应组件的变量
|
|
165
|
+
* @param compPath
|
|
166
|
+
* @param compNode
|
|
167
|
+
*/
|
|
168
|
+
getComponentSymbols(compPath: string, compNode?: Editor2dNode): GameConfig.Symbol[] {
|
|
169
|
+
if (!this.componentProvider) return [];
|
|
170
|
+
return this.componentProvider.getComponentSymbols(compPath, compNode);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* 获取当前画布的变量
|
|
175
|
+
*/
|
|
176
|
+
getCurrentSymbols(): GameConfig.Symbol[] {
|
|
177
|
+
const symbols = this.appConfig.getConfigDataBySync()?.symbols || [];
|
|
178
|
+
if (this.root && this.root.displayType === 'component') {
|
|
179
|
+
return symbols.concat(GameObjectData.getComponentSymbols(this.root));
|
|
180
|
+
}
|
|
181
|
+
return symbols;
|
|
182
|
+
}
|
|
183
|
+
|
|
158
184
|
createDisplayNode<E extends Editor2dNode = Editor2dNode>(
|
|
159
185
|
displayType: GameObjectType, parent?: Editor2dNode, position?: PositionSchema, index?: number, data?: Partial<Editor2dNode>): E {
|
|
160
186
|
let parentNode: Editor2dContainerNode;
|
|
@@ -168,7 +194,10 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
168
194
|
if (attrs.position) {
|
|
169
195
|
if (!position) {
|
|
170
196
|
const pos = 100 + Math.round(Math.random() * 100);
|
|
171
|
-
position = (displayType !== GameObjectBaseType.GROUP && displayType !== GameObjectBaseType.COMPONENT) ? {
|
|
197
|
+
position = (displayType !== GameObjectBaseType.GROUP && displayType !== GameObjectBaseType.COMPONENT) ? {
|
|
198
|
+
x: pos,
|
|
199
|
+
y: pos
|
|
200
|
+
} : {x: 0, y: 0};
|
|
172
201
|
}
|
|
173
202
|
attrs.position.x = position.x;
|
|
174
203
|
attrs.position.y = position.y;
|
|
@@ -187,6 +216,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
187
216
|
this.addChildren(node, parentNode, index === undefined ? 0 : index);
|
|
188
217
|
return node as E;
|
|
189
218
|
}
|
|
219
|
+
|
|
190
220
|
copyNode(targetNode?: Editor2dNode): Editor2dNode | undefined {
|
|
191
221
|
if (!targetNode || Editor2dNode.isRootNode(targetNode)) return;
|
|
192
222
|
const parent = targetNode.parent! as Readonly<Editor2dContainerNode>;
|
|
@@ -195,6 +225,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
195
225
|
const index = children.findIndex(value => value.id === targetNode.id);
|
|
196
226
|
return this.copyToParentNode(parent, targetNode, index + 1);
|
|
197
227
|
}
|
|
228
|
+
|
|
198
229
|
copyToParentNode(parentNode: Editor2dNode, nodeData: Editor2dNode, index?: number, position?: PositionSchema): Editor2dNode | undefined {
|
|
199
230
|
let parent: Editor2dContainerNode | undefined = undefined;
|
|
200
231
|
if (this.canbeAddAsChild(parentNode, nodeData.displayType)) {
|
|
@@ -219,7 +250,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
219
250
|
}
|
|
220
251
|
}
|
|
221
252
|
const name = this.getUniqueName((parent.children || []) as Editor2dNode[], nodeData.name!);
|
|
222
|
-
Object.assign(newNode, {
|
|
253
|
+
Object.assign(newNode, {name});
|
|
223
254
|
let children = parent.children as TreeNode[];
|
|
224
255
|
if (!children) {
|
|
225
256
|
children = parent.children = [];
|
|
@@ -234,6 +265,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
234
265
|
|
|
235
266
|
}
|
|
236
267
|
}
|
|
268
|
+
|
|
237
269
|
delNodeSetMask(node?: Editor2dNode): void {
|
|
238
270
|
const nextNode = node?.nextSibling as Editor2dNode;
|
|
239
271
|
const nextIsMask = nextNode && (nextNode.isMask || nextNode.mask);
|
|
@@ -253,6 +285,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
253
285
|
}
|
|
254
286
|
}
|
|
255
287
|
}
|
|
288
|
+
|
|
256
289
|
delNode(targetNode?: Editor2dNode, silent?: boolean): void {
|
|
257
290
|
if (!targetNode || Editor2dNode.isRootNode(targetNode)) return;
|
|
258
291
|
const parent = targetNode.parent! as Readonly<Editor2dContainerNode>;
|
|
@@ -267,21 +300,25 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
267
300
|
this.fireContentChanged([targetNode], 'delete');
|
|
268
301
|
}
|
|
269
302
|
}
|
|
303
|
+
|
|
270
304
|
delNodes(...targetNodes: Editor2dNode[]): void {
|
|
271
305
|
targetNodes.forEach(node => this.delNode(node, true));
|
|
272
306
|
if (targetNodes.length > 0) {
|
|
273
307
|
this.fireContentChanged(targetNodes, 'delete');
|
|
274
308
|
}
|
|
275
309
|
}
|
|
310
|
+
|
|
276
311
|
rename(targetNode: Editor2dNode | undefined, name: string): void {
|
|
277
312
|
if (!name || !targetNode || Editor2dNode.isRootNode(targetNode)) return;
|
|
278
|
-
this.updateNode(targetNode, {
|
|
313
|
+
this.updateNode(targetNode, {name});
|
|
279
314
|
}
|
|
315
|
+
|
|
280
316
|
addChildren(node: Editor2dNode, parentNode: Editor2dContainerNode, index: number = 0): void {
|
|
281
317
|
this.clearMask(node);
|
|
282
318
|
if (node.parent) {
|
|
283
319
|
this.delNode(node, true);
|
|
284
|
-
}
|
|
320
|
+
}
|
|
321
|
+
;
|
|
285
322
|
if (!parentNode.children) parentNode.children = [];
|
|
286
323
|
parentNode.children.splice(index, 0, node);
|
|
287
324
|
CompositeTreeNode.setParent(node, index, parentNode);
|
|
@@ -300,6 +337,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
300
337
|
this.refresh(node as Editor2dContainerNode);
|
|
301
338
|
}
|
|
302
339
|
}
|
|
340
|
+
|
|
303
341
|
updateNode(node: Editor2dNode | string, data: Partial<Editor2dNode> = {}, forceUpdate: boolean = false, noSave?: boolean, noFiredChanged?: boolean): void {
|
|
304
342
|
const treeNode = typeof node === 'string' ? this.nodes[node] : this.nodes[node.id];
|
|
305
343
|
if (!treeNode) return;
|
|
@@ -352,14 +390,16 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
352
390
|
}
|
|
353
391
|
return name; */
|
|
354
392
|
}
|
|
393
|
+
|
|
355
394
|
getSiblings(treeNode: Editor2dNode): Editor2dNode[] {
|
|
356
395
|
if (treeNode.parent) {
|
|
357
396
|
return treeNode.parent.children.filter(n => n !== treeNode) as Editor2dNode[];
|
|
358
397
|
}
|
|
359
398
|
return [];
|
|
360
399
|
}
|
|
400
|
+
|
|
361
401
|
protected reloadContent(content: string): void {
|
|
362
|
-
let data: Editor2dContent = {
|
|
402
|
+
let data: Editor2dContent = {version: this.version};
|
|
363
403
|
this.loading = true;
|
|
364
404
|
try {
|
|
365
405
|
data = JSON.parse(content || '{}') as Editor2dContent;
|
|
@@ -382,46 +422,54 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
382
422
|
// this.loadRefInfos();
|
|
383
423
|
this.fireContentChanged([], 'add', true);
|
|
384
424
|
}
|
|
425
|
+
|
|
385
426
|
reloadEnd(): void {
|
|
386
427
|
if (this.loading) {
|
|
387
428
|
this.loading = false;
|
|
388
429
|
}
|
|
389
430
|
}
|
|
431
|
+
|
|
390
432
|
protected createRootNode(): Editor2dNode {
|
|
391
|
-
const root =
|
|
433
|
+
const root = Editor2dNode.createRootNode(new URI(this.uri));
|
|
392
434
|
if (root.displayType === GameObjectBaseType.SCENE) {
|
|
393
435
|
const defaultData = this.engineService.getDisplayDefaultData(this.engineName, GameObjectBaseType.SCENE);
|
|
394
436
|
Object.assign(root, defaultData);
|
|
395
437
|
}
|
|
396
438
|
return root;
|
|
397
439
|
}
|
|
440
|
+
|
|
398
441
|
fireContentChanged = (nodes: Editor2dNode[], type: 'add' | 'delete' | 'update', noSave?: boolean, noFiredChanged?: boolean): void => {
|
|
399
442
|
// TODO 这里修改目前还是全量的,需要优化
|
|
400
|
-
const contents = nodes.map(n => ({
|
|
443
|
+
const contents = nodes.map(n => ({text: 'treeNode'}));
|
|
401
444
|
this._localVersion = ++versionId;
|
|
402
445
|
if (!noFiredChanged) {
|
|
403
|
-
this.onContentChangedEmitter.fire({
|
|
446
|
+
this.onContentChangedEmitter.fire({document: this, contentChanges: contents, nodes, type});
|
|
404
447
|
}
|
|
405
448
|
if (!this.loading && !noSave) {
|
|
406
449
|
this._saveVersion++;
|
|
407
450
|
if (this._saveVersion === Number.MAX_VALUE) {
|
|
408
451
|
this._saveVersion = 0;
|
|
409
452
|
}
|
|
410
|
-
this.onSavedEmitter.fire({
|
|
453
|
+
this.onSavedEmitter.fire({document: this, contentChanges: contents, nodes, type});
|
|
411
454
|
}
|
|
412
455
|
};
|
|
456
|
+
|
|
413
457
|
save(): MaybePromise<void> {
|
|
414
458
|
return this.resourceAutoSaveService.save();
|
|
415
459
|
};
|
|
460
|
+
|
|
416
461
|
get dirty(): boolean {
|
|
417
462
|
return this.resourceAutoSaveService.dirty;
|
|
418
463
|
}
|
|
464
|
+
|
|
419
465
|
get autoSave(): 'on' | 'off' {
|
|
420
466
|
return this.resourceAutoSaveService.autoSave;
|
|
421
467
|
}
|
|
468
|
+
|
|
422
469
|
get onDirtyChanged(): Event<void> {
|
|
423
470
|
return this.resourceAutoSaveService.onDirtyChanged;
|
|
424
471
|
}
|
|
472
|
+
|
|
425
473
|
/**
|
|
426
474
|
* @mask 操作说明
|
|
427
475
|
* 1. 当前 isMask 为 true, 移除 prevNode 上的 mask, 移到相应的图层后再设。
|
|
@@ -443,6 +491,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
443
491
|
node.mask = undefined;
|
|
444
492
|
}
|
|
445
493
|
}
|
|
494
|
+
|
|
446
495
|
protected nextMaskToNode(node: Editor2dNode): void {
|
|
447
496
|
// 判断父级是否 mask 或 maskChild, 如果是则不用设
|
|
448
497
|
const nextNode = node.nextSibling as Editor2dNode;
|
|
@@ -498,6 +547,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
498
547
|
this.setPrevNodeMask(node.previousSibling, n.isMask && typeof id === 'undefined' ? n.id : id);
|
|
499
548
|
}
|
|
500
549
|
}
|
|
550
|
+
|
|
501
551
|
/**
|
|
502
552
|
* 切换 mask 图层;
|
|
503
553
|
* 多选:取最后一个当 mask, 并创建编组;
|
|
@@ -558,6 +608,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
558
608
|
}
|
|
559
609
|
this.fireContentChanged(childNodes.concat([lastNode, group]), 'update');
|
|
560
610
|
}
|
|
611
|
+
|
|
561
612
|
/**
|
|
562
613
|
* 忽略底层 mask
|
|
563
614
|
* 忽略层 mask 不删除,留着恢复用,
|
|
@@ -581,7 +632,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
581
632
|
node.mask = undefined;
|
|
582
633
|
}
|
|
583
634
|
// this.updateNode(node, { ignoreMask: ignore });
|
|
584
|
-
let id =
|
|
635
|
+
let id = ignore ? undefined : node.mask;
|
|
585
636
|
id = node.isMask && ignore ? node.id : id;
|
|
586
637
|
// id = node.isMask && !ignore ? node.mask : id;
|
|
587
638
|
// console.log(id, ignore);
|
|
@@ -589,20 +640,23 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
589
640
|
|
|
590
641
|
this.fireContentChanged([node], 'update');
|
|
591
642
|
}
|
|
643
|
+
|
|
592
644
|
toggleVisible(nodes: Editor2dNode[], visible?: boolean): void {
|
|
593
645
|
nodes.forEach(node => {
|
|
594
646
|
if (this.checkDecoration(node, 'hidable')) {
|
|
595
|
-
this.updateNode(node, {
|
|
647
|
+
this.updateNode(node, {canvasHide: visible !== undefined ? !visible : !node.canvasHide});
|
|
596
648
|
}
|
|
597
649
|
});
|
|
598
650
|
}
|
|
651
|
+
|
|
599
652
|
toggleLock(nodes: Editor2dNode[], locked?: boolean): void {
|
|
600
653
|
nodes.forEach(node => {
|
|
601
654
|
if (this.checkDecoration(node, 'lockable')) {
|
|
602
|
-
this.updateNode(node, {
|
|
655
|
+
this.updateNode(node, {locked: locked !== undefined ? locked : !node.locked});
|
|
603
656
|
}
|
|
604
657
|
});
|
|
605
658
|
}
|
|
659
|
+
|
|
606
660
|
moveUp(node: Editor2dNode, toTop?: boolean): void {
|
|
607
661
|
const children = node.parent!.children as TreeNode[];
|
|
608
662
|
const targetNode = toTop ? children[0] : node.previousSibling;
|
|
@@ -610,6 +664,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
610
664
|
this.moveToNode(node, targetNode as Editor2dNode);
|
|
611
665
|
}
|
|
612
666
|
}
|
|
667
|
+
|
|
613
668
|
/**
|
|
614
669
|
* 上移动多个节点
|
|
615
670
|
* @param nodes
|
|
@@ -620,6 +675,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
620
675
|
: nodes;
|
|
621
676
|
nodes.forEach(n => this.moveUp(n));
|
|
622
677
|
}
|
|
678
|
+
|
|
623
679
|
/**
|
|
624
680
|
* 下移动多个节点
|
|
625
681
|
*/
|
|
@@ -629,6 +685,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
629
685
|
: nodes;
|
|
630
686
|
nodes.forEach(n => this.moveDown(n));
|
|
631
687
|
}
|
|
688
|
+
|
|
632
689
|
moveDown(node: Editor2dNode, toBottom?: boolean): void {
|
|
633
690
|
const children = node.parent!.children as TreeNode[];
|
|
634
691
|
const targetNode = toBottom ? children[children.length - 1] : node.nextSibling;
|
|
@@ -636,6 +693,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
636
693
|
this.moveToNode(node, targetNode as Editor2dNode, true);
|
|
637
694
|
}
|
|
638
695
|
}
|
|
696
|
+
|
|
639
697
|
/**
|
|
640
698
|
* 移动到对应节点位置
|
|
641
699
|
* @param node
|
|
@@ -687,6 +745,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
687
745
|
this.refresh(parent);
|
|
688
746
|
this.fireContentChanged([node], 'update');
|
|
689
747
|
}
|
|
748
|
+
|
|
690
749
|
moveToNodesAsChildren(nodes: Editor2dNode[], targetNode: Editor2dNode): boolean {
|
|
691
750
|
// 后边的先加
|
|
692
751
|
nodes = nodes.slice().reverse();
|
|
@@ -697,6 +756,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
697
756
|
}
|
|
698
757
|
return false;
|
|
699
758
|
}
|
|
759
|
+
|
|
700
760
|
moveToNodesAsSiblings(nodes: Editor2dNode[], targetNode: Editor2dNode): boolean {
|
|
701
761
|
// 后边的先加
|
|
702
762
|
nodes = nodes.slice().reverse();
|
|
@@ -709,6 +769,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
709
769
|
}
|
|
710
770
|
return false;
|
|
711
771
|
}
|
|
772
|
+
|
|
712
773
|
getSelectedNodes(): Editor2dNode[] {
|
|
713
774
|
const nodes: Editor2dNode[] = [];
|
|
714
775
|
// eslint-disable-next-line guard-for-in
|
|
@@ -720,9 +781,11 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
720
781
|
}
|
|
721
782
|
return nodes;
|
|
722
783
|
}
|
|
784
|
+
|
|
723
785
|
getNodeById(nodeId: string): Editor2dNode | Editor2dContainerNode | undefined {
|
|
724
786
|
return this.nodes[nodeId];
|
|
725
787
|
}
|
|
788
|
+
|
|
726
789
|
getNodeIcon(node: Editor2dNode | Editor2dContainerNode): string {
|
|
727
790
|
if (node.tags && node.tags.length > 0) {
|
|
728
791
|
const tagId = node.tags[0].id;
|
|
@@ -735,6 +798,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
735
798
|
}
|
|
736
799
|
return '';
|
|
737
800
|
}
|
|
801
|
+
|
|
738
802
|
getNodeIconColor(node: Editor2dNode | Editor2dContainerNode): string {
|
|
739
803
|
if (node.tags && node.tags.length > 0) {
|
|
740
804
|
const tagId = node.tags[0].id;
|
|
@@ -743,6 +807,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
743
807
|
}
|
|
744
808
|
return '';
|
|
745
809
|
}
|
|
810
|
+
|
|
746
811
|
getSelectedNodesWithoutRoot(): Editor2dNode[] {
|
|
747
812
|
return this.getSelectedNodes().filter(n => !Editor2dNode.isRootNode(n));
|
|
748
813
|
}
|
|
@@ -755,6 +820,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
755
820
|
}
|
|
756
821
|
return false;
|
|
757
822
|
}
|
|
823
|
+
|
|
758
824
|
/**
|
|
759
825
|
* 合并分组
|
|
760
826
|
* @param nodes
|
|
@@ -771,6 +837,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
771
837
|
return group;
|
|
772
838
|
}
|
|
773
839
|
}
|
|
840
|
+
|
|
774
841
|
/**
|
|
775
842
|
* 解除分组,目前只支持图层
|
|
776
843
|
* @param node
|
|
@@ -786,6 +853,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
786
853
|
}
|
|
787
854
|
this.delNode(node);
|
|
788
855
|
}
|
|
856
|
+
|
|
789
857
|
/**
|
|
790
858
|
* 可以作为子节点
|
|
791
859
|
* @param targetNode
|
|
@@ -818,14 +886,16 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
818
886
|
}
|
|
819
887
|
return true;
|
|
820
888
|
}
|
|
889
|
+
|
|
821
890
|
protected checkDecoration(node: Editor2dNode, decoKey: keyof GameObjectDecoration): boolean {
|
|
822
|
-
const deco =
|
|
891
|
+
const deco = this.engineService.getGameObjectDecoration(this.engineName, node.displayType);
|
|
823
892
|
return deco[decoKey] === undefined || !!deco[decoKey];
|
|
824
893
|
}
|
|
825
894
|
|
|
826
895
|
setAnimationStarted(b: boolean): void {
|
|
827
896
|
this.animationStarted = b;
|
|
828
897
|
}
|
|
898
|
+
|
|
829
899
|
startRecordAnimation(
|
|
830
900
|
animationIds: () => string[],
|
|
831
901
|
onNodeChange: (nodes: Editor2dNode[], type: EditorDocumentChangeEvent['type']) => void
|
|
@@ -893,6 +963,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
893
963
|
}
|
|
894
964
|
|
|
895
965
|
private refreshingNodes: WeakMap<Editor2dContainerNode, { timeout: number, deferred: PromiseDeferred<Editor2dContainerNode | undefined> }> = new WeakMap();
|
|
966
|
+
|
|
896
967
|
/**
|
|
897
968
|
* 同一个时间周期的refresh自动取消
|
|
898
969
|
* @param raw
|
|
@@ -914,16 +985,18 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
914
985
|
});
|
|
915
986
|
|
|
916
987
|
// @ts-ignore
|
|
917
|
-
this.refreshingNodes.set(raw, {
|
|
988
|
+
this.refreshingNodes.set(raw, {timeout, deferred});
|
|
918
989
|
return deferred.promise;
|
|
919
990
|
}
|
|
920
991
|
|
|
921
992
|
cloneNodeData(node: Editor2dNode): Editor2dNode {
|
|
922
993
|
return deepClone(omit(node, ['parent', 'previousSibling', 'nextSibling', 'selected', 'canvasHide', 'version']));
|
|
923
994
|
}
|
|
995
|
+
|
|
924
996
|
get version(): number {
|
|
925
997
|
return this._localVersion;
|
|
926
998
|
}
|
|
999
|
+
|
|
927
1000
|
get length(): number {
|
|
928
1001
|
return Object.keys(this.nodes).length;
|
|
929
1002
|
}
|
|
@@ -964,6 +1037,7 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
964
1037
|
const error = this.errors.find(e => uris.includes(e.uri));
|
|
965
1038
|
return error?.message;
|
|
966
1039
|
}
|
|
1040
|
+
|
|
967
1041
|
queryNodesByTypes(types?: GameObjectType[]): Editor2dNode[] {
|
|
968
1042
|
if (!this.root) return [];
|
|
969
1043
|
const nodes: Editor2dNode[] = [];
|
|
@@ -974,12 +1048,14 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
974
1048
|
}
|
|
975
1049
|
return nodes;
|
|
976
1050
|
}
|
|
1051
|
+
|
|
977
1052
|
nodeIdToGameObjectId(nodeId: string): string {
|
|
978
1053
|
const node = this.nodes[nodeId];
|
|
979
1054
|
if (!node) return '';
|
|
980
1055
|
const objectId = Editor2dNode.getNodePath(node);
|
|
981
1056
|
return objectId;
|
|
982
1057
|
}
|
|
1058
|
+
|
|
983
1059
|
/**
|
|
984
1060
|
* 获取游戏对象
|
|
985
1061
|
* @param nodeId
|
|
@@ -1026,22 +1102,26 @@ export class Editor2dDocument extends TreeImpl<Editor2dNode, Editor2dContainerNo
|
|
|
1026
1102
|
x: moveType === 'x' ? position.x + moveDelta : position.x,
|
|
1027
1103
|
y: moveType === 'y' ? position.y + moveDelta : position.y,
|
|
1028
1104
|
};
|
|
1029
|
-
this.updateNode(node, {
|
|
1105
|
+
this.updateNode(node, {position: newPosition, }, true, true, true);
|
|
1030
1106
|
});
|
|
1031
1107
|
this.fireContentChanged(nodes, 'update');
|
|
1032
1108
|
}
|
|
1109
|
+
|
|
1033
1110
|
get snaplines(): any[] {
|
|
1034
1111
|
return this._snaplines;
|
|
1035
1112
|
}
|
|
1113
|
+
|
|
1036
1114
|
set snaplines(lines) {
|
|
1037
1115
|
this._snaplines = lines;
|
|
1038
1116
|
if (JSON.stringify(lines) !== JSON.stringify(this._snaplines)) {
|
|
1039
1117
|
this.fireContentChanged([], 'update');
|
|
1040
1118
|
}
|
|
1041
1119
|
}
|
|
1120
|
+
|
|
1042
1121
|
get saveVersion(): number {
|
|
1043
1122
|
return this._saveVersion;
|
|
1044
1123
|
}
|
|
1124
|
+
|
|
1045
1125
|
findIndex(node: Editor2dNode): number {
|
|
1046
1126
|
const parent = node.parent;
|
|
1047
1127
|
if (parent) {
|
|
@@ -2,7 +2,7 @@ import { GameConfig, GameObject, GameObjectData, GameObjectError } from '@gedit/
|
|
|
2
2
|
import { Editor2dNode } from '../model/editor2d';
|
|
3
3
|
import { GameSceneIDE, GameWidgetIDE, RenderEngineIDEService } from '@gedit/render-engine-ide';
|
|
4
4
|
import { AppConfigData } from '@gedit/app-config/lib/common';
|
|
5
|
-
import { Disposable, DisposableImpl,
|
|
5
|
+
import { Disposable, DisposableImpl, Emitter, omit, SizeSchema, URI } from '@gedit/utils';
|
|
6
6
|
|
|
7
7
|
const WAIT_TO_DISPOSE_TIME = 30000; // 延迟删除, 这样tab在频繁切换时候不会有延迟
|
|
8
8
|
const SCENE_KEY = 'boot';
|
|
@@ -50,36 +50,22 @@ export interface CanvasDrawLoadingState {
|
|
|
50
50
|
reload?: boolean, // 重新加载
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
function
|
|
54
|
-
if (!obj) return originData;
|
|
55
|
-
each(obj, (v: any, key: string) => {
|
|
56
|
-
const currentPath = path ? `${path}.${key}` : key;
|
|
57
|
-
if (typeof v === 'string') {
|
|
58
|
-
let matched = v.match(/^\$\{([^\}]+)\}$/);
|
|
59
|
-
// 旧的写法, TODO 暂时做兼容
|
|
60
|
-
if (!matched && key === 'textureId') {
|
|
61
|
-
matched = v.match(/^symbol\/(.+)/);
|
|
62
|
-
}
|
|
63
|
-
if (matched) {
|
|
64
|
-
const symbolId = matched[1];
|
|
65
|
-
const symbolValue = config.symbols.find(s => s.id === symbolId)?.value || '';
|
|
66
|
-
originData = setByKey(originData, currentPath, symbolValue, true, true);
|
|
67
|
-
}
|
|
68
|
-
} else if (Array.isArray(v)) {
|
|
69
|
-
v.forEach((item, i) => {
|
|
70
|
-
originData = replaceSymbolKey(originData, config, item, `${currentPath}.${i}`);
|
|
71
|
-
});
|
|
72
|
-
} else if (typeof v === 'object') {
|
|
73
|
-
originData = replaceSymbolKey(originData, config, v, currentPath);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
return originData;
|
|
77
|
-
}
|
|
78
|
-
function toNodeData(node: Editor2dNode, config: AppConfigData): GameObjectData {
|
|
53
|
+
function toNodeData(node: Editor2dNode, symbols: GameConfig.Symbol[]): GameObjectData {
|
|
79
54
|
const originData = omit(node, ['parent', 'previousSibling', 'nextSibling', 'children']);
|
|
80
|
-
return replaceSymbolKey(originData,
|
|
55
|
+
return GameObjectData.replaceSymbolKey(originData, symbols, true, originData);
|
|
81
56
|
};
|
|
82
57
|
|
|
58
|
+
/**
|
|
59
|
+
* 获取当前画布的变量
|
|
60
|
+
*/
|
|
61
|
+
function getCurrentSymbols(appConfig: AppConfigData, root?: Editor2dNode): GameConfig.Symbol[] {
|
|
62
|
+
const symbols = appConfig.symbols || [];
|
|
63
|
+
if (root && root.displayType === 'component') {
|
|
64
|
+
return symbols.concat(GameObjectData.getComponentSymbols(root));
|
|
65
|
+
}
|
|
66
|
+
return symbols;
|
|
67
|
+
}
|
|
68
|
+
|
|
83
69
|
/**
|
|
84
70
|
* 画布绘制逻辑
|
|
85
71
|
*/
|
|
@@ -103,6 +89,8 @@ export class CanvasDraw extends DisposableImpl {
|
|
|
103
89
|
protected pixelArt: boolean;
|
|
104
90
|
renderWidget?: GameWidgetIDE;
|
|
105
91
|
private allCount = -1;
|
|
92
|
+
private currentSymbols: GameConfig.Symbol[] = [];
|
|
93
|
+
private symbolVersion = 0;
|
|
106
94
|
readonly onDraw = this.onDrawEmitter.event;
|
|
107
95
|
readonly onLoading = this.onLoadingEmitter.event;
|
|
108
96
|
readonly onGameObjectChange = this.onGameObjectChangeEmitter.event;
|
|
@@ -208,6 +196,12 @@ export class CanvasDraw extends DisposableImpl {
|
|
|
208
196
|
updateGameObjects(scene: GameSceneIDE, content: Editor2dNode): void {
|
|
209
197
|
const renderKeys: string[] = [];
|
|
210
198
|
if (!content) return;
|
|
199
|
+
const currentSymbols = getCurrentSymbols(this.data!.appConfig!, content);
|
|
200
|
+
// 变量数据更新
|
|
201
|
+
if (JSON.stringify(currentSymbols) !== JSON.stringify(this.currentSymbols)) {
|
|
202
|
+
this.symbolVersion++;
|
|
203
|
+
this.currentSymbols = currentSymbols;
|
|
204
|
+
}
|
|
211
205
|
this.allCount = this.updateGameObject(scene, content, 0, renderKeys);
|
|
212
206
|
// 删除节点
|
|
213
207
|
this.lastRenderKeys.forEach(key => {
|
|
@@ -230,7 +224,7 @@ export class CanvasDraw extends DisposableImpl {
|
|
|
230
224
|
const selectable: boolean = !isInside && (!this.opts.isTemplate || !Editor2dNode.isTemplateDisabled(node)); // 是否可被选中
|
|
231
225
|
let childInside = false;
|
|
232
226
|
if (compId) {
|
|
233
|
-
children = (this.opts.getComponentContent(compId, node) || []).slice().reverse();
|
|
227
|
+
children = (this.opts.getComponentContent(compId, node) || []).slice().reverse().concat(children);
|
|
234
228
|
// 内部节点
|
|
235
229
|
childInside = true;
|
|
236
230
|
// 拥有内部节点的父节点无法被吸附
|
|
@@ -252,8 +246,8 @@ export class CanvasDraw extends DisposableImpl {
|
|
|
252
246
|
this.nodeCache.set(nodePath, node);
|
|
253
247
|
}
|
|
254
248
|
let firstCreate = false;
|
|
255
|
-
const nodeData = toNodeData(node, this.
|
|
256
|
-
const newVersion = currentDepth + (node.version || 0) + ':' + (this.data?.configVersion || 0);
|
|
249
|
+
const nodeData = toNodeData(node, this.currentSymbols);
|
|
250
|
+
const newVersion = currentDepth + (node.version || 0) + ':' + (this.data?.configVersion || 0) + ':' + this.symbolVersion;
|
|
257
251
|
// 内部节点无法选中
|
|
258
252
|
if (!gameObject) {
|
|
259
253
|
const gameObjectChildren = children ? children.map(c => gameObjectCache.get(Editor2dNode.getNodePath(c))!) : [];
|
|
@@ -380,6 +374,9 @@ export class CanvasDraw extends DisposableImpl {
|
|
|
380
374
|
if (!this.data) return undefined;
|
|
381
375
|
const { content, appConfig } = this.data;
|
|
382
376
|
if (!appConfig || !content) return undefined;
|
|
377
|
+
if (content.displayType === 'component') {
|
|
378
|
+
return { width: 0, height: 0 };
|
|
379
|
+
}
|
|
383
380
|
return GameConfig.getSceneSize(appConfig, content);
|
|
384
381
|
}
|
|
385
382
|
protected draw(): void {
|