From 5d57a8924f5c4c13c5163bf20ff1ad85048b36ba Mon Sep 17 00:00:00 2001 From: xudan Date: Mon, 14 Jul 2025 11:03:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=99=A8=E6=9C=8D=E5=8A=A1=EF=BC=8C=E7=A1=AE=E4=BF=9D=E9=9D=9E?= =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E7=AC=94=E9=94=81=E5=AE=9A=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=BA=E7=A6=81=E7=94=A8=E7=BC=96=E8=BE=91=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E5=9C=A8=E8=AE=BE=E7=BD=AE=E7=8A=B6=E6=80=81=E6=97=B6=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/editor.service.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/services/editor.service.ts b/src/services/editor.service.ts index 97dec5d..4519302 100644 --- a/src/services/editor.service.ts +++ b/src/services/editor.service.ts @@ -275,6 +275,17 @@ export class EditorService extends Meta2d { */ public setState(editable?: boolean): void { this.lock(editable ? LockState.None : LockState.DisableEdit); + this.data().pens.forEach((pen: MapPen) => { + if (pen.name !== 'area') { + if (pen.locked !== LockState.DisableEdit) { + this.setValue( + { id: pen.id, locked: LockState.DisableEdit }, + { render: false, history: false, doEvent: false }, + ); + } + } + }); + this.render(); } public override data(): SceneData { @@ -641,6 +652,7 @@ export class EditorService extends Meta2d { tags: ['point'], label: `P${id}`, point: { type }, + locked: LockState.DisableEdit, }; pen.x! -= pen.width! / 2; pen.y! -= pen.height! / 2; @@ -721,7 +733,7 @@ export class EditorService extends Meta2d { const line = this.connectLine(p1, p2, undefined, undefined, false); id ||= line.id!; this.changePenId(line.id!, id); - const pen: MapPen = { tags: ['route'], route: { type }, lineWidth: 1 }; + const pen: MapPen = { tags: ['route'], route: { type }, lineWidth: 1, locked: LockState.DisableEdit }; this.setValue({ id, ...pen }, { render: false, history: false, doEvent: false }); this.updateLineType(line, type); this.active(id);