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

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

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

Loading…
Cancel
Save