Class DiscardLeaderAction
java.lang.Object
it.polimi.ingsw.controller.action.Action
it.polimi.ingsw.controller.action.DiscardLeaderAction
public class DiscardLeaderAction extends Action
An action to request to the model to discard a specific leader card of a player
-
Constructor Summary
Constructors Constructor Description DiscardLeaderAction(int leaderCardID)DiscardLeaderAction(java.lang.String username, int leaderCardID) -
Method Summary
Modifier and Type Method Description PhaseTypeperformAction(IGameState gameState)Discard the specified leader card for the player.Methods inherited from class it.polimi.ingsw.controller.action.Action
getUsername, isCurrentPlayer, setUsernameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
DiscardLeaderAction
public DiscardLeaderAction(int leaderCardID) -
DiscardLeaderAction
public DiscardLeaderAction(java.lang.String username, int leaderCardID)
-
-
Method Details
-
performAction
public PhaseType performAction(IGameState gameState) throws InvalidActionException, NotAllowedActionException, WrongPlayerException, InvalidUsernameException, InvalidLeaderCardException, LeaderIsActiveExceptionDiscard the specified leader card for the player.- Specified by:
performActionin classAction- Parameters:
gameState- the current state of this game- Returns:
- the next phase of this player's turn
- Throws:
InvalidActionException- this Action is not correctly initializedNotAllowedActionException- this Action can't be performed in this phase of turn or gameWrongPlayerException- the player for which this action must be performed isn't the current playerInvalidUsernameException- the player for which this action must be performed doesn't exist in this gameInvalidLeaderCardException- the specified leader card doesn't existLeaderIsActiveException- the specified leader is already active
-