Class BuyDevelopCardAction
java.lang.Object
it.polimi.ingsw.controller.action.Action
it.polimi.ingsw.controller.action.BuyDevelopCardAction
public class BuyDevelopCardAction extends Action
An action to request to the model to buy a specific develop card for a specific player
-
Constructor Summary
Constructors Constructor Description BuyDevelopCardAction(int row, int column, int cardSlotIndex)BuyDevelopCardAction(java.lang.String username, int row, int column, int cardSlotIndex) -
Method Summary
Modifier and Type Method Description PhaseTypeperformAction(IGameState gameState)Buy the specified develop card for the specified 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
-
BuyDevelopCardAction
public BuyDevelopCardAction(int row, int column, int cardSlotIndex) -
BuyDevelopCardAction
public BuyDevelopCardAction(java.lang.String username, int row, int column, int cardSlotIndex)
-
-
Method Details
-
performAction
public PhaseType performAction(IGameState gameState) throws InvalidActionException, NotAllowedActionException, WrongPlayerException, InvalidUsernameException, NotBuyableException, InvalidCardSlotException, InvalidDevelopCardExceptionBuy the specified develop card for the specified 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 gameNotBuyableException- the player can't buy the specified develop cardInvalidCardSlotException- the specified develop card can't be placed in the specified slotInvalidDevelopCardException- the specified develop card doesn't exist
-