esbCode可移动

This commit is contained in:
fan 2023-11-16 13:10:09 +08:00
parent 17bf2350f2
commit 741d7c0a12
3 changed files with 32 additions and 1 deletions

View File

@ -54,6 +54,7 @@ export class EsbButton extends JlGraphic {
this.addChild(this.rectBody);
this.addChild(this.lineBody);
this.addChild(this.circleBody);
this.codeGraph.name = 'esb_code';
}
get datas(): IEsbButtonData {
return this.getDatas<IEsbButtonData>();
@ -70,7 +71,17 @@ export class EsbButton extends JlGraphic {
codeGraph.style.fill = esbButtonConsts.codeColor;
codeGraph.setVectorFontSize(esbButtonConsts.codeFontSize);
codeGraph.anchor.set(0.5);
const codeTransform = this.datas?.childTransforms?.find(
(item) => item.name === 'esb_code'
);
if (codeTransform) {
const position = codeTransform?.transform.position;
const rotation = codeTransform?.transform?.rotation;
codeGraph.position.set(position?.x, position?.y);
codeGraph.rotation = rotation || 0;
} else {
codeGraph.position.set(-30, 0);
}
this.circleBody.clear();
this.circleBody.beginFill(
this.state.down

View File

@ -98,12 +98,22 @@ export class EsbButtonInteraction extends GraphicInteractionPlugin<EsbButton> {
g.cursor = 'pointer';
g.scalable = true;
g.rotatable = true;
g.codeGraph.draggable = true;
g.codeGraph.selectable = true;
g.codeGraph.rotatable = true;
g.codeGraph.transformSave = true;
g.codeGraph.eventMode = 'static';
g.on('transformstart', this.transformstart, this);
}
unbind(g: EsbButton): void {
g.eventMode = 'none';
g.scalable = false;
g.rotatable = false;
g.codeGraph.draggable = false;
g.codeGraph.selectable = false;
g.codeGraph.rotatable = false;
g.codeGraph.transformSave = false;
g.codeGraph.eventMode = 'none';
g.off('transformstart', this.transformstart, this);
}
transformstart(e: GraphicTransformEvent) {

View File

@ -127,6 +127,11 @@ export class ZdwxEsbInteraction extends GraphicInteractionPlugin<ZdwxEsb> {
g.cursor = 'pointer';
g.scalable = true;
g.rotatable = true;
g.codeGraph.draggable = true;
g.codeGraph.selectable = true;
g.codeGraph.rotatable = true;
g.codeGraph.transformSave = true;
g.codeGraph.eventMode = 'static';
g.circleBody.hitArea = new EsbBodyHitArea(g);
g.on('transformstart', this.transformstart, this);
}
@ -134,6 +139,11 @@ export class ZdwxEsbInteraction extends GraphicInteractionPlugin<ZdwxEsb> {
g.eventMode = 'none';
g.scalable = false;
g.rotatable = false;
g.codeGraph.draggable = false;
g.codeGraph.selectable = false;
g.codeGraph.rotatable = false;
g.codeGraph.transformSave = false;
g.codeGraph.eventMode = 'none';
g.off('transformstart', this.transformstart, this);
}
transformstart(e: GraphicTransformEvent) {