Class InfluenceCharacterCard

java.lang.Object
it.polimi.ingsw.eriantys.model.characters.BaseCharacterCard
it.polimi.ingsw.eriantys.model.characters.InfluenceCharacterCard
All Implemented Interfaces:
CharacterCard
Direct Known Subclasses:
Centaur, Knight, MushroomGuy

public abstract class InfluenceCharacterCard extends BaseCharacterCard
Abstract class that represents character cards which effects alter influence calculations.
  • Field Details

  • Constructor Details

    • InfluenceCharacterCard

      public InfluenceCharacterCard(int initialCost, GameManager gameManager)
      Constructs the character card.
      Parameters:
      initialCost - Initial cost to activate the effect.
      gameManager - Reference to the GameManager object for the current game.
  • Method Details

    • applyEffect

      public void applyEffect(List<Color> sourceColors, List<Color> destinationColors, Color targetColor, IslandGroup targetIsland) throws InvalidArgumentException
      Description copied from interface: CharacterCard
      Activates this card and applies the effect. If it is the first time also increases the cost for next activations. Only some arguments might be used for a specific character card effect.
      Parameters:
      sourceColors - a list of student colors selected from the source
      destinationColors - a list of student colors selected from the destination
      targetColor - the color selected for the effect
      targetIsland - the island selected for the effect
      Throws:
      InvalidArgumentException - if one or more parameters are illegal
    • cancelEffect

      public void cancelEffect() throws InvalidArgumentException
      Description copied from interface: CharacterCard
      Resets the effects of this card that are not intended to persist after the activation turn. It should be called at the end of the turn.
      Specified by:
      cancelEffect in interface CharacterCard
      Overrides:
      cancelEffect in class BaseCharacterCard
      Throws:
      InvalidArgumentException - if one or more (eventual) parameters needed for the call are illegal