Skip to content

Commit 5e44094

Browse files
Canvas: fix undo set body operation.
1 parent ade7676 commit 5e44094

File tree

22 files changed

+143
-15
lines changed

22 files changed

+143
-15
lines changed

source/phasereditor/BuildBrowserAPI/bin/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

source/phasereditor/BuildPhaserDocs/bin/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

source/phasereditor/DownloadGameMechanicsExplorer/bin/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

source/phasereditor/phasereditor.canvas.ui/src/phasereditor/canvas/ui/editors/behaviors/HandlerBehavior.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@
2323

2424
import java.util.ArrayList;
2525
import java.util.HashSet;
26+
import java.util.List;
2627
import java.util.Set;
2728

29+
import javafx.collections.ObservableList;
2830
import javafx.scene.Node;
2931
import javafx.scene.layout.Pane;
3032
import phasereditor.canvas.ui.editors.ObjectCanvas;
@@ -141,6 +143,17 @@ public void clear() {
141143
}
142144

143145
public void update() {
146+
147+
List<Node> del = new ArrayList<>();
148+
149+
_pane.getChildren().forEach(n -> {
150+
if (!((IEditHandlerNode) n).isValid()) {
151+
del.add(n);
152+
}
153+
});
154+
155+
_pane.getChildren().removeAll(del);
156+
144157
_pane.getChildren().forEach(n -> {
145158
((IEditHandlerNode) n).updateHandler();
146159
});

source/phasereditor/phasereditor.canvas.ui/src/phasereditor/canvas/ui/editors/edithandlers/AnchorHandlerNode.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ public AnchorHandlerNode(ISpriteNode object) {
4848
setFill(Color.BLUE);
4949
setCursor(Cursor.MOVE);
5050
}
51-
51+
52+
@Override
53+
public boolean isValid() {
54+
return _object instanceof ISpriteNode;
55+
}
56+
5257
@Override
5358
public void handleLocalStart(double localX, double localY) {
5459
ISpriteNode sprite = (ISpriteNode) _object;

source/phasereditor/phasereditor.canvas.ui/src/phasereditor/canvas/ui/editors/edithandlers/ArcadeHighlightCircleBodyHandlerNode.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ public ArcadeHighlightCircleBodyHandlerNode(IObjectNode object) {
3939
setFill(Color.GREENYELLOW);
4040
setStrokeWidth(0);
4141
}
42+
43+
@Override
44+
public boolean isValid() {
45+
return isCircleArcadeValid();
46+
}
4247

4348
@Override
4449
public void updateHandler() {

source/phasereditor/phasereditor.canvas.ui/src/phasereditor/canvas/ui/editors/edithandlers/ArcadeHighlightRectBodyHandlerNode.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ public ArcadeHighlightRectBodyHandlerNode(IObjectNode object) {
4242
setMouseTransparent(true);
4343
setStrokeWidth(0);
4444
}
45+
46+
@Override
47+
public boolean isValid() {
48+
return isRectArcadeValid();
49+
}
4550

4651
@Override
4752
public void handleLocalStart(double localX, double localY) {

source/phasereditor/phasereditor.canvas.ui/src/phasereditor/canvas/ui/editors/edithandlers/ArcadeMoveBodyHandlerNode.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ public ArcadeMoveBodyHandlerNode(IObjectNode object) {
4848
setRadius(5);
4949
setCursor(Cursor.MOVE);
5050
}
51+
52+
@Override
53+
public boolean isValid() {
54+
return isArcadeValid();
55+
}
5156

5257
@Override
5358
public void handleLocalStart(double localX, double localY) {

source/phasereditor/phasereditor.canvas.ui/src/phasereditor/canvas/ui/editors/edithandlers/ArcadeResizeCircleBodyHandlerNode.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ public ArcadeResizeCircleBodyHandlerNode(IObjectNode object) {
4646
setCursor(Cursor.H_RESIZE);
4747
setFill(Color.GREENYELLOW);
4848
}
49+
50+
@Override
51+
public boolean isValid() {
52+
return super.isCircleArcadeValid();
53+
}
4954

5055
@Override
5156
public void handleLocalStart(double localX, double localY) {

source/phasereditor/phasereditor.canvas.ui/src/phasereditor/canvas/ui/editors/edithandlers/ArcadeResizeRectBodyHandlerNode.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ public ArcadeResizeRectBodyHandlerNode(IObjectNode object, Axis axis) {
4949
setFill(Color.GREENYELLOW);
5050
}
5151

52+
@Override
53+
public boolean isValid() {
54+
return super.isRectArcadeValid();
55+
}
56+
5257
@Override
5358
public void handleLocalStart(double localX, double localY) {
5459
ISpriteNode sprite = (ISpriteNode) _object;

0 commit comments

Comments
 (0)