added java docs for choosepowercard

This commit is contained in:
Fleischer Hanno
2024-12-01 14:37:04 +01:00
parent 2c81665f80
commit dfea7e8736

View File

@@ -15,32 +15,55 @@
import java.util.ArrayList;
import java.util.stream.Collectors;
/**
* State where the player can choose a power card
*/
public class ChoosePowerCardState extends PowerCardStates {
private final PowerCardState parent;
private ArrayList<BonusCard> possibleCards;
/**
* Constructor
* @param parent parent state
* @param logic game logic
*/
public ChoosePowerCardState(ClientState parent, ClientGameLogic logic) {
super(parent, logic);
this.parent = (PowerCardState) parent;
}
/**
* Enter the state
*/
@Override
public void enter() {
possibleCards = new ArrayList<>();
//TODO: logic.send(new RequestPossibleCardsMessage());
}
/**
* Exit the state
*/
@Override
public void exit() {
possibleCards = null;
}
/**
* Set the possible cards
* @param msg possible cards message
*/
@Override
public void received(PossibleCardMessage msg){
possibleCards = (ArrayList<BonusCard>) msg.getPossibleCards();
logic.addNotification(new SelectableCardsNotification(possibleCards));
}
/**
* Select a card
* @param card card to select
*/
@Override
public void selectCard(BonusCard card){
if(card != null){
@@ -50,6 +73,10 @@ public void selectCard(BonusCard card){
}
}
/**
* Receive a card
* @param msg card message
*/
@Override
public void received(PlayCardMessage msg){
if(msg.getCard().equals(BonusCard.TURBO)){
@@ -59,11 +86,19 @@ public void received(PlayCardMessage msg){
}
}
/**
* Receive a die now message
* @param msg dice now message
*/
@Override
public void received(DiceNowMessage msg){
parent.getParent().setState(parent.getParent().getRollDice());
}
/**
* Receive a possible piece message and decide if the player can swap or shield
* @param msg possible piece message
*/
@Override
public void received(PossiblePieceMessage msg){
if (msg.getEnemyPossiblePieces().isEmpty()){