diff --git a/Scripts/Entities/ChessBoard.cs b/Scripts/Entities/ChessBoard.cs index 7c4577f..a316423 100644 --- a/Scripts/Entities/ChessBoard.cs +++ b/Scripts/Entities/ChessBoard.cs @@ -9,7 +9,7 @@ public partial class ChessBoard : Node2D { public override void _Ready() { Board = new VirtualBoard(this as Node); Records = new MoveRecords(onUndoRecordCallback: (newNode, oldNode, newPos, oldPos) => { - GD.Print("Undo: ", newNode, "->", newNode, ":", newPos, "->", oldPos); + GD.Print("Undo: ", newNode, "->", oldNode, ":", newPos, "->", oldPos); ChessPiece newPiece = newNode as ChessPiece; ChessPiece oldPiece = oldNode as ChessPiece; Board.MoveNode(oldPos, newPos); @@ -64,6 +64,7 @@ public partial class ChessBoard : Node2D { } Node NowNode; if (NowChess != null) { + GD.Print("nowchess", NowChess); NowNode = NowChess.Duplicate(); Board.RemoveNode(clickArrPos); } else { @@ -83,6 +84,7 @@ public partial class ChessBoard : Node2D { public void redo() { Records.Clear(); Board.Clear(); + selectedNodePos = Vector2.Inf; Board.InitChessBoard(); } diff --git a/Scripts/Utilities/VirtualBoard.cs b/Scripts/Utilities/VirtualBoard.cs index 374a296..6dbc271 100644 --- a/Scripts/Utilities/VirtualBoard.cs +++ b/Scripts/Utilities/VirtualBoard.cs @@ -59,6 +59,7 @@ class VirtualBoard { public void Clear() { foreach (var node in BoardRoot.GetChildren()) { if (node is ChessPiece chessPiece) { + RemoveNode(chessPiece.getPos()); chessPiece.QueueFree(); } }