Skip to main content

TriggerBehavior

Trait TriggerBehavior 

Source
pub trait TriggerBehavior:
    Debug
    + DynClone
    + Send
    + Sync
    + Serialize
    + Deserialize {
    // Required methods
    fn trigger_type(&self) -> TriggerType;
    fn perform_test(
        &self,
        trigger: &Trigger,
        run_params: &RunParams,
        game: &GameState,
    ) -> bool;
    fn set_triggering_objects(
        &self,
        trigger: &Trigger,
        sa: &mut SpellAbility,
        params: &RunParams,
        game: &GameState,
    );
    fn get_important_stack_objects(
        &self,
        trigger: &Trigger,
        sa: &SpellAbility,
    ) -> String;

    // Provided methods
    fn origin_zone(&self) -> Option<ZoneType> { ... }
    fn destination_zone(&self) -> Option<ZoneType> { ... }
    fn drawn_number(&self) -> Option<i32> { ... }
}

Required Methods§

Source

fn trigger_type(&self) -> TriggerType

Source

fn perform_test( &self, trigger: &Trigger, run_params: &RunParams, game: &GameState, ) -> bool

Java’s Trigger.performTest(). The trigger parameter provides access to the parent Trigger’s params, base, and host card — equivalent of Java’s this in the trigger subclass.

Source

fn set_triggering_objects( &self, trigger: &Trigger, sa: &mut SpellAbility, params: &RunParams, game: &GameState, )

Source

fn get_important_stack_objects( &self, trigger: &Trigger, sa: &SpellAbility, ) -> String

Provided Methods§

Trait Implementations§

Source§

impl<'typetag> Serialize for dyn TriggerBehavior + 'typetag

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'typetag> Serialize for dyn TriggerBehavior + Send + 'typetag

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'typetag> Serialize for dyn TriggerBehavior + Sync + 'typetag

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'typetag> Serialize for dyn TriggerBehavior + Send + Sync + 'typetag

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl TriggerBehavior for TriggerAbandoned

Source§

impl TriggerBehavior for TriggerAbilityActivated

Source§

impl TriggerBehavior for TriggerAbilityResolves

Source§

impl TriggerBehavior for TriggerAbilityTriggered

Source§

impl TriggerBehavior for TriggerAdapt

Source§

impl TriggerBehavior for TriggerAlways

Source§

impl TriggerBehavior for TriggerAttached

Source§

impl TriggerBehavior for TriggerAttackerBlocked

Source§

impl TriggerBehavior for TriggerAttackerBlockedByCreature

Source§

impl TriggerBehavior for TriggerAttackerBlockedOnce

Source§

impl TriggerBehavior for TriggerAttackerUnblocked

Source§

impl TriggerBehavior for TriggerAttackerUnblockedOnce

Source§

impl TriggerBehavior for TriggerAttackersDeclared

Source§

impl TriggerBehavior for TriggerAttacks

Source§

impl TriggerBehavior for TriggerBecomeMonarch

Source§

impl TriggerBehavior for TriggerBecomeMonstrous

Source§

impl TriggerBehavior for TriggerBecomeRenowned

Source§

impl TriggerBehavior for TriggerBecomesCrewed

Source§

impl TriggerBehavior for TriggerBecomesPlotted

Source§

impl TriggerBehavior for TriggerBecomesSaddled

Source§

impl TriggerBehavior for TriggerBecomesTarget

Source§

impl TriggerBehavior for TriggerBecomesTargetOnce

Source§

impl TriggerBehavior for TriggerBlockersDeclared

Source§

impl TriggerBehavior for TriggerBlocks

Source§

impl TriggerBehavior for TriggerCaseSolved

Source§

impl TriggerBehavior for TriggerChampioned

Source§

impl TriggerBehavior for TriggerChangesController

Source§

impl TriggerBehavior for TriggerChangesZone

Source§

impl TriggerBehavior for TriggerChangesZoneAll

Source§

impl TriggerBehavior for TriggerChaosEnsues

Source§

impl TriggerBehavior for TriggerClaimPrize

Source§

impl TriggerBehavior for TriggerClashed

Source§

impl TriggerBehavior for TriggerClassLevelGained

Source§

impl TriggerBehavior for TriggerCollectEvidence

Source§

impl TriggerBehavior for TriggerCommitCrime

Source§

impl TriggerBehavior for TriggerCompletedDungeon

Source§

impl TriggerBehavior for TriggerConjureAll

Source§

impl TriggerBehavior for TriggerCounterAdded

Source§

impl TriggerBehavior for TriggerCounterAddedAll

Source§

impl TriggerBehavior for TriggerCounterAddedOnce

Source§

impl TriggerBehavior for TriggerCounterPlayerAddedAll

Source§

impl TriggerBehavior for TriggerCounterRemoved

Source§

impl TriggerBehavior for TriggerCounterRemovedOnce

Source§

impl TriggerBehavior for TriggerCounterTypeAddedAll

Source§

impl TriggerBehavior for TriggerCountered

Source§

impl TriggerBehavior for TriggerCrankContraption

Source§

impl TriggerBehavior for TriggerCrewedSaddled

Source§

impl TriggerBehavior for TriggerCycled

Source§

impl TriggerBehavior for TriggerDamageAll

Source§

impl TriggerBehavior for TriggerDamageDealtOnce

Source§

impl TriggerBehavior for TriggerDamageDone

Source§

impl TriggerBehavior for TriggerDamageDoneOnce

Source§

impl TriggerBehavior for TriggerDamageDoneOnceByController

Source§

impl TriggerBehavior for TriggerDamagePreventedOnce

Source§

impl TriggerBehavior for TriggerDayTimeChanges

Source§

impl TriggerBehavior for TriggerDestroyed

Source§

impl TriggerBehavior for TriggerDevoured

Source§

impl TriggerBehavior for TriggerDiscarded

Source§

impl TriggerBehavior for TriggerDiscardedAll

Source§

impl TriggerBehavior for TriggerDiscover

Source§

impl TriggerBehavior for TriggerDrawn

Source§

impl TriggerBehavior for TriggerElementalbend

Source§

impl TriggerBehavior for TriggerEnlisted

Source§

impl TriggerBehavior for TriggerEnteredRoom

Source§

impl TriggerBehavior for TriggerEvolved

Source§

impl TriggerBehavior for TriggerExcessDamage

Source§

impl TriggerBehavior for TriggerExcessDamageAll

Source§

impl TriggerBehavior for TriggerExerted

Source§

impl TriggerBehavior for TriggerExiled

Source§

impl TriggerBehavior for TriggerExploited

Source§

impl TriggerBehavior for TriggerExplores

Source§

impl TriggerBehavior for TriggerFight

Source§

impl TriggerBehavior for TriggerFightOnce

Source§

impl TriggerBehavior for TriggerFlippedCoin

Source§

impl TriggerBehavior for TriggerForage

Source§

impl TriggerBehavior for TriggerForetell

Source§

impl TriggerBehavior for TriggerFullyUnlock

Source§

impl TriggerBehavior for TriggerGiveGift

Source§

impl TriggerBehavior for TriggerImmediate

Source§

impl TriggerBehavior for TriggerInvestigated

Source§

impl TriggerBehavior for TriggerLandPlayed

Source§

impl TriggerBehavior for TriggerLifeGained

Source§

impl TriggerBehavior for TriggerLifeLost

Source§

impl TriggerBehavior for TriggerLifeLostAll

Source§

impl TriggerBehavior for TriggerLosesGame

Source§

impl TriggerBehavior for TriggerManaAdded

Source§

impl TriggerBehavior for TriggerManaExpend

Source§

impl TriggerBehavior for TriggerManifestDread

Source§

impl TriggerBehavior for TriggerMentored

Source§

impl TriggerBehavior for TriggerMilled

Source§

impl TriggerBehavior for TriggerMilledAll

Source§

impl TriggerBehavior for TriggerMilledOnce

Source§

impl TriggerBehavior for TriggerMutates

Source§

impl TriggerBehavior for TriggerNewGame

Source§

impl TriggerBehavior for TriggerPayCumulativeUpkeep

Source§

impl TriggerBehavior for TriggerPayEcho

Source§

impl TriggerBehavior for TriggerPayLife

Source§

impl TriggerBehavior for TriggerPhase

Source§

impl TriggerBehavior for TriggerPhaseIn

Source§

impl TriggerBehavior for TriggerPhaseOut

Source§

impl TriggerBehavior for TriggerPhaseOutAll

Source§

impl TriggerBehavior for TriggerPlanarDice

Source§

impl TriggerBehavior for TriggerPlaneswalkedFrom

Source§

impl TriggerBehavior for TriggerPlaneswalkedTo

Source§

impl TriggerBehavior for TriggerProliferate

Source§

impl TriggerBehavior for TriggerRingTemptsYou

Source§

impl TriggerBehavior for TriggerRolledDie

Source§

impl TriggerBehavior for TriggerRolledDieOnce

Source§

impl TriggerBehavior for TriggerSacrificed

Source§

impl TriggerBehavior for TriggerSacrificedOnce

Source§

impl TriggerBehavior for TriggerScry

Source§

impl TriggerBehavior for TriggerSearchedLibrary

Source§

impl TriggerBehavior for TriggerSeekAll

Source§

impl TriggerBehavior for TriggerSetInMotion

Source§

impl TriggerBehavior for TriggerShuffled

Source§

impl TriggerBehavior for TriggerSpecializes

Source§

impl TriggerBehavior for TriggerSpellAbilityCastOrCopy

Source§

impl TriggerBehavior for TriggerSurveil

Source§

impl TriggerBehavior for TriggerTakesInitiative

Source§

impl TriggerBehavior for TriggerTapAll

Source§

impl TriggerBehavior for TriggerTaps

Source§

impl TriggerBehavior for TriggerTapsForMana

Source§

impl TriggerBehavior for TriggerTokenCreated

Source§

impl TriggerBehavior for TriggerTokenCreatedOnce

Source§

impl TriggerBehavior for TriggerTrains

Source§

impl TriggerBehavior for TriggerTransformed

Source§

impl TriggerBehavior for TriggerTurnBegin

Source§

impl TriggerBehavior for TriggerTurnFaceUp

Source§

impl TriggerBehavior for TriggerUnattach

Source§

impl TriggerBehavior for TriggerUnlockDoor

Source§

impl TriggerBehavior for TriggerUntapAll

Source§

impl TriggerBehavior for TriggerUntaps

Source§

impl TriggerBehavior for TriggerVisitAttraction

Source§

impl TriggerBehavior for TriggerVote