renamed boardHandler methods

This commit is contained in:
Cedric Beck
2024-12-13 14:01:24 +01:00
parent 70e31e15c7
commit d8eefeb348
8 changed files with 33 additions and 46 deletions

View File

@@ -12,10 +12,7 @@
import com.jme3.renderer.Camera;
import com.jme3.scene.Node;
import com.jme3.scene.control.AbstractControl;
import pp.mdga.client.board.NodeControl;
import pp.mdga.client.board.OutlineControl;
import pp.mdga.client.board.OutlineOEControl;
import pp.mdga.client.board.PieceControl;
import pp.mdga.client.gui.CardControl;
import pp.mdga.client.gui.DiceControl;
import pp.mdga.client.view.GameView;
@@ -148,8 +145,8 @@ public void onAction(String name, boolean isPressed, float tpf) {
if (p == null) {
p = UUID.randomUUID();
gameView.getBoardHandler().addPlayer(Color.AIRFORCE, List.of(p, UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID()));
gameView.getBoardHandler().movePieceStartAnim(p, 0);
gameView.getBoardHandler().outlineMove(List.of(p), List.of(2), List.of(false));
gameView.getBoardHandler().movePieceStart(p, 0);
gameView.getBoardHandler().setSelectableMove(List.of(p), List.of(2), List.of(false));
//gameView.getBoardHandler().movePieceAnim(p,0, 8);
} else {
gameView.getBoardHandler().throwPiece(p, Color.ARMY);

View File

@@ -198,7 +198,7 @@ private void handleGame(Notification notification) {
guiHandler.drawCard(n.getColor());
delay = STANDARD_DELAY;
} else if (notification instanceof HomeMoveNotification home) {
boardHandler.movePieceHomeAnim(home.getPieceId(), home.getHomeIndex());
boardHandler.movePieceHome(home.getPieceId(), home.getHomeIndex());
guiHandler.hideText();
waitForAnimation = true;
} else if (notification instanceof InterruptNotification notification1) {
@@ -206,11 +206,11 @@ private void handleGame(Notification notification) {
} else if (notification instanceof MovePieceNotification n) {
if (n.isMoveStart()) {
//StartMove
boardHandler.movePieceStartAnim(n.getPiece(), n.getMoveIndex());
boardHandler.movePieceStart(n.getPiece(), n.getMoveIndex());
waitForAnimation = true;
} else {
//InfieldMove
boardHandler.movePieceAnim(n.getPiece(), n.getStartIndex(), n.getMoveIndex());
boardHandler.movePiece(n.getPiece(), n.getStartIndex(), n.getMoveIndex());
waitForAnimation = true;
}
guiHandler.hideText();
@@ -262,18 +262,18 @@ public void run() {
app.afterGameCleanup();
app.enter(MdgaState.MAIN);
} else if (notification instanceof SwapPieceNotification n) {
boardHandler.swapPieceAnim(n.getFirstPiece(), n.getSecondPiece());
boardHandler.swapPieces(n.getFirstPiece(), n.getSecondPiece());
guiHandler.swap();
} else if (notification instanceof WaitMoveNotification) {
//nothing
} else if (notification instanceof SelectableMoveNotification n) {
boardHandler.outlineMove(n.getPieces(), n.getMoveIndices(), n.getHomeMoves());
boardHandler.setSelectableMove(n.getPieces(), n.getMoveIndices(), n.getHomeMoves());
modelSynchronizer.setSwap(false);
} else if (notification instanceof SelectableSwapNotification n) {
boardHandler.outlineSwap(n.getOwnPieces(), n.getEnemyPieces());
boardHandler.setSelectableSwap(n.getOwnPieces(), n.getEnemyPieces());
modelSynchronizer.setSwap(true);
} else if (notification instanceof SelectableShieldNotification n) {
boardHandler.outlineShield(n.getPieces());
boardHandler.setSelectableShield(n.getPieces());
modelSynchronizer.setSwap(false);
} else if (notification instanceof TurboActiveNotification) {
//nothing

View File

@@ -15,7 +15,6 @@
import pp.mdga.client.animation.*;
import pp.mdga.client.gui.DiceControl;
import pp.mdga.game.Color;
import pp.mdga.game.Piece;
import java.util.*;
@@ -226,7 +225,7 @@ private Spatial createModel(Asset asset, Vector3f pos, float rot) {
* @param y The y-coordinate on the grid
* @return The corresponding world position
*/
public static Vector3f gridToWorld(int x, int y) {
private static Vector3f gridToWorld(int x, int y) {
return new Vector3f(GRID_SIZE * x, GRID_SIZE * y, GRID_ELEVATION);
}
@@ -367,7 +366,7 @@ private Vector3f getWaitingPos(Color color) {
* @param vectors The list of vectors.
* @return The mean position as a Vector3f.
*/
public static Vector3f getMeanPosition(List<Vector3f> vectors) {
private static Vector3f getMeanPosition(List<Vector3f> vectors) {
if (vectors.isEmpty()) return new Vector3f(0, 0, 0);
Vector3f sum = new Vector3f(0, 0, 0);
@@ -425,7 +424,7 @@ public void addPlayer(Color color, List<UUID> uuid) {
* @param index the index of the home node to move the piece to
* @throws RuntimeException if the UUID is not mapped to a color or if the home nodes are not properly defined
*/
private void moveHomePiece(UUID uuid, int index) {
private void executeHomeMove(UUID uuid, int index) {
Color color = pieceColor.get(uuid);
if (color == null) throw new RuntimeException("uuid is not mapped to a color");
@@ -455,7 +454,7 @@ private void moveHomePiece(UUID uuid, int index) {
* @throws RuntimeException if the UUID is not mapped to a color or the piece control is not found
* @throws IllegalArgumentException if the node index is invalid
*/
private void movePieceStart(UUID uuid, int nodeIndex) {
private void executeStartMove(UUID uuid, int nodeIndex) {
// Farbe des Pieces abrufen
Color color = pieceColor.get(uuid);
@@ -486,7 +485,7 @@ private void movePieceStart(UUID uuid, int nodeIndex) {
* @param curIndex the current index of the piece
* @param moveIndex the target index of the move
*/
private void movePiece(UUID uuid, int curIndex, int moveIndex) {
private void executeMove(UUID uuid, int curIndex, int moveIndex) {
movePieceRek(uuid, curIndex, moveIndex);
app.getModelSynchronize().animationEnd();
@@ -566,7 +565,7 @@ public void suppressShield(UUID uuid) {
* @param loc2 the original location of the second piece
* @param rot2 the original rotation of the second piece
*/
private void swapPieces(PieceControl p1, PieceControl p2, Vector3f loc1, float rot1, Vector3f loc2, float rot2) {
private void executeSwap(PieceControl p1, PieceControl p2, Vector3f loc1, float rot1, Vector3f loc2, float rot2) {
p1.setLocation(loc2);
p2.setLocation(loc1);
@@ -584,7 +583,7 @@ private void swapPieces(PieceControl p1, PieceControl p2, Vector3f loc1, float r
* @param homeMoves the list indicating whether the move is a home move
* @throws RuntimeException if the sizes of the input lists do not match
*/
public void outlineMove(List<UUID> pieces, List<Integer> moveIndexe, List<Boolean> homeMoves) {
public void setSelectableMove(List<UUID> pieces, List<Integer> moveIndexe, List<Boolean> homeMoves) {
if (pieces.size() != moveIndexe.size() || pieces.size() != homeMoves.size())
throw new RuntimeException("arrays are not the same size");
@@ -618,7 +617,7 @@ public void outlineMove(List<UUID> pieces, List<Integer> moveIndexe, List<Boolea
* @param ownPieces the list of UUIDs representing the player's pieces
* @param enemyPieces the list of UUIDs representing the enemy's pieces
*/
public void outlineSwap(List<UUID> ownPieces, List<UUID> enemyPieces) {
public void setSelectableSwap(List<UUID> ownPieces, List<UUID> enemyPieces) {
selectableEnemyPieces.clear();
selectableOwnPieces.clear();
@@ -642,7 +641,7 @@ public void outlineSwap(List<UUID> ownPieces, List<UUID> enemyPieces) {
*
* @param pieces the list of UUIDs representing the pieces to be shielded
*/
public void outlineShield(List<UUID> pieces) {
public void setSelectableShield(List<UUID> pieces) {
selectableOwnPieces.clear();
selectableEnemyPieces.clear();
selectedOwnPiece = null;
@@ -779,12 +778,12 @@ private <K, V> K getKeyByValue(Map<K, V> map, V value) {
* @param curIndex the current index of the piece
* @param moveIndex the target index to animate the piece to
*/
public void movePieceAnim(UUID uuid, int curIndex, int moveIndex) {
public void movePiece(UUID uuid, int curIndex, int moveIndex) {
pieces.get(uuid).getSpatial().addControl(new MoveControl(
infield.get(curIndex).getLocation(),
infield.get(moveIndex).getLocation(),
() -> movePiece(uuid, curIndex, moveIndex)));
() -> executeMove(uuid, curIndex, moveIndex)));
}
/**
@@ -793,11 +792,11 @@ public void movePieceAnim(UUID uuid, int curIndex, int moveIndex) {
* @param uuid the UUID of the piece to animate
* @param homeIndex the index of the home node to move the piece to
*/
public void movePieceHomeAnim(UUID uuid, int homeIndex) {
public void movePieceHome(UUID uuid, int homeIndex) {
pieces.get(uuid).getSpatial().addControl(new MoveControl(
pieces.get(uuid).getLocation(),
homeNodesMap.get(pieceColor.get(uuid)).get(homeIndex).getLocation(),
() -> moveHomePiece(uuid, homeIndex)));
() -> executeHomeMove(uuid, homeIndex)));
}
/**
@@ -806,11 +805,11 @@ public void movePieceHomeAnim(UUID uuid, int homeIndex) {
* @param uuid the UUID of the piece to animate
* @param moveIndex the target index to animate the piece to
*/
public void movePieceStartAnim(UUID uuid, int moveIndex) {
public void movePieceStart(UUID uuid, int moveIndex) {
pieces.get(uuid).getSpatial().addControl(new MoveControl(
pieces.get(uuid).getLocation(),
infield.get(moveIndex).getLocation(),
() -> movePieceStart(uuid, moveIndex)
() -> executeStartMove(uuid, moveIndex)
));
}
@@ -819,7 +818,7 @@ public void movePieceStartAnim(UUID uuid, int moveIndex) {
*
* @param uuid the UUID of the piece to animate
*/
public void throwPieceAnim(UUID uuid) {
private void throwPieceAnim(UUID uuid) {
pieces.get(uuid).getSpatial().addControl(new MoveControl(
pieces.get(uuid).getLocation(), getNextWaitingNode(pieceColor.get(uuid)).getLocation(),
() -> throwPiece(uuid))
@@ -873,7 +872,7 @@ private void throwShell(UUID uuid) {
* @param piece1 the UUID of the first piece
* @param piece2 the UUID of the second piece
*/
public void swapPieceAnim(UUID piece1, UUID piece2) {
public void swapPieces(UUID piece1, UUID piece2) {
PieceControl piece1Control = pieces.get(piece1);
PieceControl piece2Control = pieces.get(piece2);
@@ -891,7 +890,7 @@ public void swapPieceAnim(UUID piece1, UUID piece2) {
piece2Control.getSpatial().addControl(new MoveControl(
piece2Control.getLocation().clone(),
piece1Control.getLocation().clone(),
() -> swapPieces(piece1Control, piece2Control, loc1, rot1, loc2, rot2)
() -> executeSwap(piece1Control, piece2Control, loc1, rot1, loc2, rot2)
));
}

View File

@@ -1,9 +1,9 @@
package pp.mdga.client.board;
import com.jme3.math.ColorRGBA;
import com.jme3.math.Vector3f;
import com.jme3.post.FilterPostProcessor;
import pp.mdga.client.MdgaApp;
import pp.mdga.client.outline.OutlineControl;
/**
* A control that adds highlighting functionality to a node in the game.

View File

@@ -4,12 +4,13 @@
import com.jme3.post.FilterPostProcessor;
import com.jme3.renderer.Camera;
import pp.mdga.client.MdgaApp;
import pp.mdga.client.outline.OutlineControl;
/**
* OutlineOEControl class extends OutlineControl to manage outline colors and widths
* for own and enemy objects, including hover and select states.
*/
public class OutlineOEControl extends OutlineControl{
public class OutlineOEControl extends OutlineControl {
private static final ColorRGBA OUTLINE_OWN_COLOR = ColorRGBA.White;
private static final ColorRGBA OUTLINE_ENEMY_COLOR = ColorRGBA.Red;
private static final ColorRGBA OUTLINE_OWN_HOVER_COLOR = ColorRGBA.Yellow;

View File

@@ -13,6 +13,7 @@
import com.jme3.scene.Spatial;
import pp.mdga.client.Asset;
import pp.mdga.client.MdgaApp;
import pp.mdga.client.outline.OutlineControl;
/**
* A control that manages the behavior and properties of a game piece, such as its rotation,

View File

@@ -11,7 +11,7 @@
import com.jme3.scene.Node;
import com.jme3.scene.shape.Sphere;
import pp.mdga.client.MdgaApp;
import pp.mdga.client.board.OutlineControl;
import pp.mdga.client.outline.OutlineControl;
/**
* CardControl class extends OutlineControl to manage the visual representation

View File

@@ -1,11 +1,10 @@
package pp.mdga.client.board;
package pp.mdga.client.outline;
import com.jme3.math.ColorRGBA;
import com.jme3.post.FilterPostProcessor;
import com.jme3.renderer.Camera;
import pp.mdga.client.InitControl;
import pp.mdga.client.MdgaApp;
import pp.mdga.client.outline.SelectObjectOutliner;
/**
* A control that provides outline functionality to a spatial object.
@@ -50,16 +49,6 @@ public OutlineControl(MdgaApp app, FilterPostProcessor fpp, Camera cam,
selectObjectOutliner = new SelectObjectOutliner(fpp, app.getRenderManager(), app.getAssetManager(), cam, app);
}
/**
* Applies an outline to the spatial object with the given color.
*
* @param color The {@link ColorRGBA} representing the color of the outline.
*/
// public void outline(ColorRGBA color) {
// selectObjectOutliner.select(spatial, color);
// }
/**
* Applies an outline to the spatial object with the given color and width.
*