renamed boardHandler methods
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
Reference in New Issue
Block a user