SotM Engine API
Class documentation for the Sentinels of the Multiverse Engine API.
Loading...
Searching...
No Matches
Handelabra.Sentinels.Engine.Controller Namespace Reference

The controller contains the logic of the game, including game rules and what each individual card in the game does. More...

Classes

class  ActivatableAbility
 Contains all information related to an Ability text that is usable by a hero. Example: The Argent Adept's "Perform" and "Accompany" text his Cards. More...
 
class  ActivateAbilityAction
 GameAction that activates an "ActivatableAbility" on a Card. Example: The Argent Adept's "Perform" and "Accompany" text on his Cards. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ActivateAbilityDecision
 Decision that allows players to decide which Ability to activate. Example: The Argent Adept's "Perform" and "Accompany" text. More...
 
class  AddStatusEffectAction
 GameAction that adds a StatusEffect to the Game. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  AddTokensToPoolAction
 GameAction that adds tokens to a TokenPool. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  AdjustDamageAmountAction
 Superclass used for GameActions which modify the amount of damage a DealDamageAction instance deals. The constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  AnotherTargetYesNoDecision
 
class  BulkMakeTargetsAction
 This action sets the MaximumHitPoints and HitPoints to not null for all provided cards, making them targets. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  BulkMoveCardsAction
 GameAction that moves a collection of Cards all at once. Used whenever individual Card movements would be cumbersome and unncessary. This action should only be used to move many cards at once, in situations where triggers do not happen on the individual cards. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  BulkRemoveTargetsAction
 This action removes the targetness from the Cards provided, and removes the target from play (if it is in play). Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  CancelAction
 GameAction that cancels another GameAction. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  CardController
 CardController is responsible for everything a Card does. That can include effects when it enters play, effects while it's in play, powers, hit points, and so on. Individual card logic is contained within a subclass of CardController for that card. More...
 
class  CardControllerFactory
 Factory that creates CardControllers of the correct type based on the type of Card passed. More...
 
class  CardEntersPlayAction
 GameAction that occurs when a Card enters play, allowing other Cards to Trigger off of it. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  CardSource
 Contains all the information related to which Card is causing an event to occur. More...
 
class  ChangeActionRespondersAction
 This does nothing and will be removed at some point in the future. More...
 
class  ChangeDamageTypeAction
 GameAction that changes the DamageType of a DealDamageAction. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ChangeDamageTypeTrigger
 Special Trigger to be used for changing DamageTypes. More...
 
class  ChangeMaximumHPAction
 GameAction that changes the Maximum HP that a target Card has. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  CharacterCardController
 A Character card controller is the superclass of all character card controllers and supports flipping. Subclasses of this should call base on AddTriggers() if overriding it. More...
 
class  CharacterCardWithIncapacitationController
 A superclass for all CharacterCardControllers that also can be incapacitated. Used for HeroCharacterCardControllers and VillainTeamCharacterCardControllers. More...
 
class  CompletedCardPlayAction
 GameAction that is sent out once a card has been played, has already entered play, AND has completed all its "Play()" actions. Used for special situations in which a Trigger should occur after everything else has resolved. Example: Shinobi Assassin playing the top card of the deck it came from. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  CustomDecisionText
 A collection of text to display to the player for the custom decision selection type. More...
 
struct  CutoutInfo
 Encapsulation of information about the display of character cutout artwork. More...
 
class  DamageManager
 
class  DamagePreviewResult
 Class that contains an information related to a single step when creating the Damage Preview in-game. More...
 
class  DamageSource
 
class  DealDamageAction
 GameAction which deals damage from one DamageSource to a a target Card, including all information necessary. You may instantiate this class directly for use with FindTargetsWithLowestHitPoints etc. Otherwise, use the helpers on GameController or CardController. More...
 
class  DealDamageTrigger
 
class  DecisionBase
 Base class for all Decision classes. More...
 
class  DestroyCardAction
 GameAction that destroys a Card. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  DestroyCardDecision
 
class  DiscardCardAction
 GameAction that discards a Card. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  DiscardCardDecision
 
class  DiscardCardsYesNoDecision
 
class  DiscardCardYesNoDecision
 
class  DoneRoundOfDamageAction
 GameAction which allows the engine to know that it has completed a round of damage. Used primarily for Triggers which should not execute until all intended damage has completed. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  DrawCardAction
 GameAction that draws a Card. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  DrawCardDecision
 
class  DummyCardController
 This class does nothing. You can ignore it. More...
 
class  EntersPlayAction
 Superclass for GameActions that indicate a Card entering play. The constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ExpireStatusEffectAction
 GameAction that causes a StatusEffect to expire. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  FlipCardAction
 GameAction that flips a Card to its other side. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  FlipTokensAction
 GameAction that flips a number of tokens in a TokenPool into another TokenPool. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  Function
 A single choice in a SelectFunctionDecision, which includes its displayed text, a SelectionType, and the Func to execute. More...
 
class  GainHPAction
 GameAction that allows a target Card to gain HP, up to its Maximum HP. You may instantiate this class directly for use with FindTargetsWithLowestHitPoints etc. Otherwise, use the helpers on GameController or CardController. More...
 
class  GameAction
 A GameAction is an encapsulation of any event in the game that causes a change in game state. The model is only ever changed by GameActions (with very few exceptions). In general, do not instantiate GameAction subclasses directly, unless otherwise indicated. Use the helpers on GameController or CardController. More...
 
class  GameController
 GameController is the main Controller of the entire game, and is primarily in charge of making sure that the rules of the game are followed. It contains many methods that you will need to call in order to make your cards do what you want them to do. More...
 
class  GameOverAction
 GameAction that ends the game, whether in Victory or Defeat. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  GiveHighFiveAction
 This action allows one HeroTurnTakerController to give a high five to another! Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  HeroCharacterCardController
 A special CharacterCardController specifically for Heroes. More...
 
class  HeroTurnTakerController
 Special TurnTakerController specifically created for each HeroTurnTaker in the Game. More...
 
interface  IChoosableText
 
interface  IDecision
 Interface for all Decisions. More...
 
class  ImmediatelyEndTurnAction
 GameAction that immediately ends the current turn, regardless of where it currently is. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ImmuneToDamageAction
 GameAction that makes the target Card of a DealDamageAction immune to damage. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  IncapacitatedAbility
 Contains information related to a hero's incapacitated ability that can be used. More...
 
class  IncreaseDamageAction
 GameAction that increases the amount of damage dealt in a DealDamageAction. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  IncreaseDamageTrigger
 Special Trigger to be used for increasing damage. More...
 
class  IncreaseHPGainAction
 GameAction that increases the amount of HP of a GainHPAction. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  IncreasePhaseActionCountAction
 GameAction that increases the current TurnPhase's PhaseActionCount, which is the number of times the TurnPhase is allowed to perform its primary action. Example: The number of Cards that can be played during the PlayCard TurnPhase. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  IncreasePowerNumberOfUsesAction
 GameAction that increases the number of times the provided Power can be used. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  IncrementAchievementAction
 GameAction that increments a value keeping track of achievement progress. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
interface  ITrigger
 Interface used for all Triggers. More...
 
class  LinqCardCriteria
 A class that contains information when providing criteria for Cards. More...
 
class  LinqDamageTypeCriteria
 A class that contains information when providing criteria for DamageTypes. More...
 
class  LinqTurnTakerCriteria
 A class that contains information when providing criteria for TurnTakers. More...
 
struct  LocationChoice
 
class  MakeDamageIrreducibleAction
 GameAction that makes the damage irreducible for a DealDamageAction. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  MakeDamageNotRedirectableAction
 GameAction that makes the damage not redirectable for a DealDamageAction. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  MakeDamageUnincreasableAction
 GameAction that makes the damage unincreasable for a DealDamageAction. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  MakeDecisionAction
 GameAction that presents a Decision to the player(s). Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  MakeDecisionsAction
 GameAction that presents multiple Decisions to the player(s) at the same time. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  MakeTargetAction
 GameAction that turns the provided Card into a target. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  MessageAction
 GameAction that sends a Message to the player(s), displayed on-screen. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ModifyDealDamageAction
 Superclass used for GameActions which modify DealDamageActions. The constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ModifyKeywordsAction
 GameAction that is executed when the keywords of Cards change so that Triggers can respond to the change. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ModifyTokensAction
 Superclass for GameActions that modify TokenPools. The constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  MoveCardAction
 GameAction that moves a Card from one Location to another. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  MoveCardDecision
 Decision that selects which MoveCardDestination the given Card should move to. More...
 
struct  MoveCardDestination
 
class  MoveTokensFromPoolToPoolAction
 GameAction that moves Tokens from one TokenPool to another. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  PhaseChangeAction
 GameAction that changes the TurnPhase from one to another. In general, do not instantiate this class directly. Use the helpers on GameController or CardController. Cards that do funny things with turn phases (like SubZeroAtmosphere and OverchargedSystems) do use this directly, so its constructors will not change. More...
 
class  PhaseChangeTrigger
 Special Trigger to be used for anything that reacts when the Game moves into a specific TurnPhase. More...
 
class  PlayAirGuitarAction
 This action allows one HeroTurnTakerController to play air guitar! Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  PlayCardAction
 GameAction that plays a Card or puts it into play. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  PlayCardDecision
 
class  PlayCardYesNoDecision
 
class  PlayerPolicies
 A class that keeps track of various preferences the player has set relating to automatic actions in the game. Example: Automatically drawing Cards. More...
 
class  Power
 Contains information related to a Power that can be used. More...
 
class  PreMadeDecision
 Special class used for game-replaying purposes. Not for general use. More...
 
class  PreventPhaseAction
 GameAction that prevents the regular phase action of a TurnPhase from occurring. Example: Prevents Cards from being played during the PlayCard phase. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  RedirectDamageAction
 GameAction that redirects the damage to a new target for a DealDamageAction. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  RedirectDamageDecision
 
class  ReduceDamageAction
 GameAction that reduces the amount of damage for a DealDamageAction. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ReduceDamageTrigger
 Special Trigger to be used for reducing damage. More...
 
class  ReduceHPGainAction
 GameAction that reduces the amount of HP that the given GainHPAction provides. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ReducePhaseActionCountAction
 GameAction that reduces a TurnPhase's PhaseActionCount, which is the number of times the TurnPhase is allowed to perform its primary action. Example: The number of Cards that can be played during the PlayCard TurnPhase. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  RemoveTargetAction
 GameAction that turns a target Card into a non-target Card by removing its HP and Maximum HP. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  RemoveTokensFromPoolAction
 GameAction that removes Tokens from a TokenPool. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ReplaceTurnTakerAction
 GameAction that replaces one TurnTaker with another. Example: Spite: Agent of Gloom becoming Gloomweaver: Skin Walker Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  RevealCardsAction
 GameAction that reveals Cards at a Location. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  SelectCardDecision
 Decision that selects a single Card from a choice of Cards. More...
 
class  SelectCardsDecision
 Decision that allows multiple Cards to be selected in a row from a choice of Cards. Creates individual SelectCardDecisions to achieve this. More...
 
class  SelectDamageTypeDecision
 Decision that selects a DamageType from a choice of DamageTypes. More...
 
class  SelectFromBoxDecision
 Decision that selects the identifier of a Card from outside the current game, from a KeyValuePair of possible choices. More...
 
class  SelectFunctionDecision
 Decision that selects a Function from a list of possible Functions. More...
 
class  SelectLocationDecision
 Decisions that selects a LocationChoice from a list of LocationChoices. More...
 
class  SelectNumberDecision
 Decision that selects a number from a list of numbers. More...
 
class  SelectTargetDecision
 Decision that selects a target Card from a choice of Cards. More...
 
class  SelectTargetsDecision
 Decision that allows multiple target Cards to be selected in a row from a choice of target Cards. Creates individual SelectTargetDecisions to achieve this. More...
 
class  SelectTurnPhaseDecision
 Decision that selects a TurnPhase from a list of TurnPhases. More...
 
class  SelectTurnTakerDecision
 Decision that selects a TurnTaker from a list of TurnTakers. More...
 
class  SelectTurnTakersDecision
 Decision that selects multiple TurnTakers from a list of TurnTakers. Creates individual SelectTurnTakerDecisions to achieve this. More...
 
class  SelectWordDecision
 Decision that selects a Word from a list of Word choices. More...
 
class  SelfDestructTrigger
 Special Trigger for Cards that react to their own destruction. More...
 
class  SetHPAction
 GameAction that sets the HP of a target Card to a specific value. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  SetNemesisIdentifiersAction
 GameAction that sets the NemesisIdentifiers of a Card. Example: Greazer or BugBear setting their nemesis. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  SetPhaseActionCountAction
 Sets the a TurnPhase's PhaseActionCount, which is the number of times the TurnPhase is allowed to perform its primary action. Example: The number of Cards that can be played during the PlayCard TurnPhase. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ShuffleCardsAction
 GameAction that shuffles the Cards at the provided Location. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ShuffleCardsInPlayAreaAction
 GameAction that shuffles the cards in a given TurnTakerController's PlayArea. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  ShuffleTrashIntoDeckAction
 GameAction that shuffles the provided TurnTakerController's Trash into their Deck. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  SkipToTurnPhaseAction
 GameAction that skips from the current TurnPhase to another one out of regular TurnPhase order. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  SpecialString
 A class that contains SpecialString information to be displayed with a Card or in the Effects List. More...
 
class  SpecialStringMaker
 Class that allows SpecialStrings to be made to a standardized format. More...
 
class  StatusEffectController
 Class that acts as the Controller side of a StatusEffect. More...
 
class  StatusEffectManager
 A class that manages all the StatusEffects in the Game. More...
 
class  StatusEffectMessageAction
 MessageAction that also includes information about a StatusEffect. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  SwitchBattleZoneAction
 GameAction that switches a TurnTaker's BattleZone from one to another. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  SwitchCardsAction
 GameAction that switches one Card for another Card, taking its place. The new Card has the same HP, Cards next to it, Cards under it, etc as the old Card. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  TargetEntersPlayAction
 GameAction that occurs when a target Card enters play, allowing other Cards to Trigger off of it. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  TargetInfo
 A class that contains information on an intended Target, but not a specific target Card. Example: The hero with the lowest HP. More...
 
class  TargetLeavesPlayAction
 GameAction that occurs when a target Card leaves play, allowing other Cards to Trigger off of it. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  Trigger
 Contains all information related to a Trigger, which reacts to specific GameActions as they occur. More...
 
class  TriggerManager
 A class that manages all Triggers in the Game. More...
 
class  TurnTakerController
 The TurnTakerController, which is created to represent each TurnTaker in the Game. More...
 
class  TurnTakerControllerFactory
 Factory that creates TurnTakerControllers of the appropriate configuation.
 
class  UnincapacitateHeroAction
 GameAction that turns an incapacitated hero into an unincapacitated hero, and restores its HP to the provided amount. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  UnlockAchievementAction
 GameAction that unlocks an achievement. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  UnlockPromoCardAction
 GameAction that unlocks a Variant Card. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  UseIncapacitatedAbilityAction
 GameAction that uses the incapaciated ability on a HeroTurnTakerController. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  UseIncapacitatedAbilityDecision
 Decision that selects an IncapacitatedAbility from a list of IncapacitatedAbilitys. More...
 
class  UsePowerAction
 GameAction that uses a Power on a Card that has Powers. Do not instantiate this class directly, its constructors are subject to change. Use the helpers on GameController or CardController. More...
 
class  UsePowerDecision
 Decision that selects a Power from a list of Powers. More...
 
class  VillainCharacterCardController
 A special CharacterCardController used for villains. More...
 
class  VillainTeamCharacterCardController
 A special CharacterCardController used for team-based villains. More...
 
class  YesNoAmountDecision
 Decision that allows for a Yes/No answer, including a relevant amount, such as the number of Cards involved. More...
 
class  YesNoCardDecision
 Decision that allows for a Yes/No answer, including a relevant Card. More...
 
class  YesNoDecision
 Decision that allows for a Yes/No answer. More...
 

Enumerations

enum  ActionDescription { Unspecified , DamageTaken }
 
enum  ActionTiming {
  None , WillPerform , WillApplyChanges , DidApplyChanges ,
  DidPerform
}
 
enum  AlwaysSmartNever { Always , Smart , Never }
 
enum  CanPlayCardResult {
  CanPlay , CannotBecauseUnknown , CannotBecauseLimitedAndInPlay , CannotBecauseCardText ,
  CannotBecauseOtherCard , CannotBecauseStatusEffect , CannotBecauseAlreadyInPlay
}
 A simple enum to return whether or not a Card can be played. If it can, it returns CanPlay. Otherwise, it returns one of the "Cannot" enums.
 
enum  CardControllerListType {
  ActivatesEffects , AddsPowers , UnderCardsCanHaveText , ChangesPhaseOrder ,
  ChangesTurnTakerOrder , ChangesVisibility , EnteringGameCheck , IgnoresBattleZones ,
  IncreasePhaseActionCount , MakesIndestructible , ModifiesKeywords , ModifiesDeckKind ,
  ReplacesCards , ReplacesCardSource , ReplacesTurnTakerController , CanCauseDamageOutOfPlay ,
  CanHeroCharacterCardUsePowers , CancelsPreventing , InterceptsPreventedDestruction
}
 The kinds of Ask() methods to add to/remove from the CardControllerList.
 
enum  CutoutAnimation { None , Fade , Slide }
 Animation style for changing character cutout artwork.
 
enum  EndingResult {
  VillainDestroyedVictory , AlternateVictory , PrematureVictory , HeroesDestroyedDefeat ,
  AlternateDefeat , EnvironmentDefeat , DebugEnding
}
 
enum  HighestLowestHP { HighestHP , LowestHP }
 
enum  MostFewestCards { MostCardsInPlay , FewestCardsInPlay }
 
enum  MoveCardDisplay { None , ShowEachCard , OnlyIfNoMatches }
 
enum  PlayerMode { SinglePlayer , PassAndPlay , MultiPlayer }
 The kind of Game the players are playing: Single-player, Pass-and-Play, or Multiplayer.
 
enum  Priority { Critical , High , Medium , Low }
 
enum  RevealedCardDisplay { None , Message , ShowMatchingCards , ShowRevealedCards }
 Indicates to the UI how revealed cards should be shown. More...
 
enum  SelectionType {
  None , ActivateAbility , ActivateFilter , ActivateGazelleEffect ,
  ActivateRhinocerosEffect , ActivateCrocodileEffect , AddTokens , AmbiguousDecision ,
  BattleZone , CannotPlayCards , CardFromHand , CardToDealDamage ,
  CharacterCard , ChoosePhaseOrder , Custom , DamageType ,
  DealDamage , DealDamageAllMagicNumber , DealDamageAfterUsePower , DealDamageSelf ,
  DestroyCard , DestroySelf , DiscardAndDrawCard , DiscardCard ,
  DiscardFromDeck , DiscardFromEnvironmentDeck , DiscardHand , DiscardCardsToNoEffect ,
  DiscardCardsNoRedirect , DiscardCardToRedirectToCardSource , DiscardOrDestroyCard , DrawCard ,
  DrawACardAndUseAPower , DrawExtraCard , EnneadAnkhEffect , EnneadElementsEffect ,
  EnneadSunEffect , EnvironmentDeck , FewestCardsInPlay , FewestCardsInPlayArea ,
  FinalDamageType , FlipCardFaceDown , FlipCardFaceUp , GainHP ,
  GainHPAndUsePower , GetWhatYouWereLookingFor , GiveHighFive , HandsUpYellWoo ,
  HarpyTokenType , HeroCharacterCard , HeroToDealDamage , HeroesInLove ,
  HighestHP , IncapacitateHero , IncreaseGainHP , IncreaseDamage ,
  IncreaseNextDamage , LowestHP , MakeDecision , MakeIndestructible ,
  MakeTarget , ModifyDamageAmount , ModifyNumeral , MostCardsInHand ,
  MostCardsInPlay , MostCardsInTrash , MostOngoingCardsInPlay , MostRewardsInPlay ,
  MoveCard , MoveCardBelowCard , MoveCardFaceDownToVillainPlayArea , MoveCardFaceDownToYourPlayArea ,
  MoveCardFromUnderCard , MoveCardNextToCard , MoveCardOnDeck , MoveCardOnBottomOfDeck ,
  MoveUnderThisCard , MoveCardUnderTopCardOfDeck , MoveCardToHand , MoveCardToHandFromBottomOfDeck ,
  MoveCardToHandFromTrash , MoveCardToPlayArea , MoveCardToTrash , MoveCardToEnvironmentTrash ,
  MoveCardToUnderCard , MoveCardAboveCard , MoveDeckToTrash , MoveTrashToDeck ,
  NaturalistForm , PlayCard , PlayBottomCard , PlayBottomCardOfVillainDeck ,
  PlayBottomCardOfEnvironmentDeck , PlayDrawOrDiscard , PlayExtraCard , PlayTopCard ,
  PlayTopCardOfVillainDeck , PlayTopCardOfEnvironmentDeck , PlayTopCardOfBothEnvironmentDecks , PlayTopCardOfVillainDeckAndEnvironmentDeck ,
  PreventDamage , PreventFirstDamageEachTurn , PreventDestruction , PutIntoPlay ,
  PutUnderCardIntoPlay , RedirectDamage , RedirectDamageDirectedAtTarget , RedirectNextDamage ,
  ReduceDamageTaken , ReduceNextDamageTaken , RemoveCardFromGame , RemoveEnvironmentFromGame ,
  RemoveTokens , RemoveTokensToNoEffect , RemoveTokensNoRedirect , RemoveTokensAndRedirectDamage ,
  ReplaceHero , ReturnToHand , ReturnToDeck , RevealCardsFromDeck ,
  RevealTopCardOfDeck , RevealBottomCardOfDeck , SearchDeck , SearchLocation ,
  SearchTrash , SelectFunction , SelectKeyword , SelectNumeral ,
  SelectTarget , SelectTargetFriendly , SelectTargetNoDamage , SetHP ,
  ShuffleCardFromTrashIntoDeck , ShuffleCardIntoDeck , ShuffleDeck , ShuffleEnvironmentDeck ,
  ShuffleTargetDeck , ShuffleVillainDeck , ShuffleTrashIntoDeck , ShuffleTopCardOfDeckIntoVillainDeck ,
  SkipTurn , SwitchBattleZone , SwitchSize , SwitchFromHero ,
  SwitchToHero , TakeFullTurnNow , TopOrBottomOfLocation , TurnTaker ,
  UnincapacitateHero , UseIncapacitatedAbility , UsePower , UsePowerTwice ,
  UsePowerAgain , UsePowerOnCard , AddScionToBattleZone , HeroToUsePower ,
  MostCardsInPlayArea , MakeImmuneToDamage , PreventFirstDamageDealtEachTurn , ActivateWeakness ,
  DrawAndDiscardCards , MoveCardOnBottomOfDeckNoEffect , IncreaseDamageTaken , DealDamageToTargetAndSelf ,
  ReduceDamageDealt , CannotDealDamage , ReduceHP , PutIntoHandOrPlay
}
 
enum  TargetType {
  All , HighestHP , LowestHP , MostCardsInPlay ,
  SelectTarget
}
 
enum  TriggerPriority { High , Medium , Low }
 
enum  TriggerTiming { Before , After }
 

Functions

delegate IEnumerator GameControllerActionEvent (GameAction action)
 
delegate void GameControllerCoroutineExhauster (IEnumerator coroutine)
 
delegate Object GameControllerCoroutineRunner (IEnumerator coroutine)
 
delegate IEnumerator GameControllerDecisionEvent (IDecision decision)
 
delegate IEnumerator GameControllerMessageEvent (MessageAction action)
 
delegate IEnumerable< KeyValuePair< string, string > > GetHeroCardsInBoxRequest (Func< string, bool > identifierCriteria, Func< string, bool > turnTakerCriteria)
 
delegate object GetPersistentValueFromView (string key, Type type)
 
delegate void SetPersistentValueInView (string key, object value)
 

Detailed Description

The controller contains the logic of the game, including game rules and what each individual card in the game does.

Enumeration Type Documentation

◆ RevealedCardDisplay

Indicates to the UI how revealed cards should be shown.

Enumerator
None 

Do not show the revealed cards at all.

Message 

Show a message listing the revealed cards. The card source and the first revealed card are shown. The message prompt will be shown at medium priority with the player's preferred message display time.

ShowMatchingCards 

Any revealed cards that matched the criteria are shown with a draw card animation.

ShowRevealedCards 

All of the revealed cards are shown and a click/tap is required to continue. If there is a single card, it will appear as a message prompt with unlimited duration. If there are multiple cards, they will appear in a grid.