From a7852098f1e82347da78a3e3c0508e4aae416fd9 Mon Sep 17 00:00:00 2001 From: Fenr1r <40751502+fenrir94@users.noreply.github.com> Date: Wed, 22 May 2019 23:06:43 +0900 Subject: [PATCH] Remove code duplication and rename set/get method on editor/DrawOperation.java (#496) - remove code duplication in undo and redo method - rename set/get method to setTile/getTile --- .../anuke/mindustry/editor/DrawOperation.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/core/src/io/anuke/mindustry/editor/DrawOperation.java b/core/src/io/anuke/mindustry/editor/DrawOperation.java index ee71b7e2b9..3dbbbbadd1 100755 --- a/core/src/io/anuke/mindustry/editor/DrawOperation.java +++ b/core/src/io/anuke/mindustry/editor/DrawOperation.java @@ -24,21 +24,23 @@ public class DrawOperation{ public void undo(MapEditor editor){ for(int i = array.size - 1; i >= 0; i--){ - long l = array.get(i); - array.set(i, TileOp.get(TileOp.x(l), TileOp.y(l), TileOp.type(l), get(editor.tile(TileOp.x(l), TileOp.y(l)), TileOp.type(l)))); - set(editor, editor.tile(TileOp.x(l), TileOp.y(l)), TileOp.type(l), TileOp.value(l)); + updateTile(editor, i); } } public void redo(MapEditor editor){ for(int i = 0; i < array.size; i++){ - long l = array.get(i); - array.set(i, TileOp.get(TileOp.x(l), TileOp.y(l), TileOp.type(l), get(editor.tile(TileOp.x(l), TileOp.y(l)), TileOp.type(l)))); - set(editor, editor.tile(TileOp.x(l), TileOp.y(l)), TileOp.type(l), TileOp.value(l)); + updateTile(editor, i); } } - short get(Tile tile, byte type){ + private void updateTile(MapEditor editor, int i) { + long l = array.get(i); + array.set(i, TileOp.get(TileOp.x(l), TileOp.y(l), TileOp.type(l), getTile(editor.tile(TileOp.x(l), TileOp.y(l)), TileOp.type(l)))); + setTile(editor, editor.tile(TileOp.x(l), TileOp.y(l)), TileOp.type(l), TileOp.value(l)); + } + + short getTile(Tile tile, byte type){ if(type == OpType.floor.ordinal()){ return tile.floorID(); }else if(type == OpType.block.ordinal()){ @@ -53,7 +55,7 @@ public class DrawOperation{ throw new IllegalArgumentException("Invalid type."); } - void set(MapEditor editor, Tile tile, byte type, short to){ + void setTile(MapEditor editor, Tile tile, byte type, short to){ editor.load(() -> { if(type == OpType.floor.ordinal()){ tile.setFloor((Floor)content.block(to));