修复:DWW,U撤销时的行为

pull/1832/MERGE
ChenX 3 years ago
parent cd31b82d48
commit e5e8bf63bc

@ -14,7 +14,7 @@ import { RoomWallArc } from "../../DatabaseServices/Room/Entity/Wall/RoomWallArc
import { RoomWallBase } from "../../DatabaseServices/Room/Entity/Wall/RoomWallBase"; import { RoomWallBase } from "../../DatabaseServices/Room/Entity/Wall/RoomWallBase";
import { RoomWallLine } from "../../DatabaseServices/Room/Entity/Wall/RoomWallLine"; import { RoomWallLine } from "../../DatabaseServices/Room/Entity/Wall/RoomWallLine";
import { WallSnapMode } from "../../DatabaseServices/Room/Entity/Wall/WallSnapMode"; import { WallSnapMode } from "../../DatabaseServices/Room/Entity/Wall/WallSnapMode";
import { RoomParse } from "../../DatabaseServices/Room/ParseService/RoomParseUtil"; import { GetAllWalls, RoomParse } from "../../DatabaseServices/Room/ParseService/RoomParseUtil";
import { RoomWallParse } from "../../DatabaseServices/Room/ParseService/RoomWallParse"; import { RoomWallParse } from "../../DatabaseServices/Room/ParseService/RoomWallParse";
import { RoomWallRemoveDuplicate } from "../../DatabaseServices/Room/ParseService/RoomWallRemoveDuplicate"; import { RoomWallRemoveDuplicate } from "../../DatabaseServices/Room/ParseService/RoomWallRemoveDuplicate";
import { Command } from "../../Editor/CommandMachine"; import { Command } from "../../Editor/CommandMachine";
@ -235,7 +235,10 @@ export class Command_DrawWall implements Command
} }
else if (ptRes.StringResult === "U") else if (ptRes.StringResult === "U")
{
this.Undo(); this.Undo();
if (jigWall && this._DrawPts.length) jigWall.StartPoint = arrayLast(this._DrawPts);
}
else if (ptRes.StringResult === "R") else if (ptRes.StringResult === "R")
this.Redo(); this.Redo();
else if (ptRes.StringResult === "C")//闭合 else if (ptRes.StringResult === "C")//闭合
@ -256,7 +259,7 @@ export class Command_DrawWall implements Command
for (let wall of rrd.SplitWalls) for (let wall of rrd.SplitWalls)
{ {
this._parse.walls.push(wall); this._parse?.walls.push(wall);
Draw(wall); Draw(wall);
} }
@ -294,6 +297,9 @@ export class Command_DrawWall implements Command
this._parse = undefined; this._parse = undefined;
// this._parse.walls.pop();//看起来只要这样 性能会好一点(更新 不能这样 因为绘制的墙体可能不止一个) // this._parse.walls.pop();//看起来只要这样 性能会好一点(更新 不能这样 因为绘制的墙体可能不止一个)
//更新墙体的显示会更好
new RoomWallParse(false, undefined, true).Do(GetAllWalls());
} }
}; };

@ -34,6 +34,9 @@ import { RegionReplacement } from "./RegionReplacement";
*/ */
export class RoomRegionParse export class RoomRegionParse
{ {
/**
* @param _UpdateDb db,
*/
constructor(private _UpdateDb: Database) constructor(private _UpdateDb: Database)
{ {

@ -47,6 +47,8 @@ export class RoomWallParse
/** /**
* @param [_ExtendsWalls=true] , * @param [_ExtendsWalls=true] ,
* @param [_UpdateDb] (Region)
* @param [_IsCacheWallNodePoints] ?
*/ */
constructor(private _ExtendsWalls: boolean, private _UpdateDb: Database, private _IsCacheWallNodePoints: boolean) constructor(private _ExtendsWalls: boolean, private _UpdateDb: Database, private _IsCacheWallNodePoints: boolean)
{ {

Loading…
Cancel
Save