public void Trigger(Event gameEvent, int positionInLinkIfTriggered) { ValidTargets.Clear(); if (!AreaOfEffects.Contains(Card.Zone)) { return; } if (Triggers.Count > 0 && !Triggers.Contains(gameEvent.Identity)) { return; } Triggered = _Trigger(gameEvent); PositionInLink = positionInLinkIfTriggered; History.Add(new Trigger(Card, Card, this)); }
public void SetUp(Event gameEvent) { ValidTargets.Clear(); if (!AreaOfEffects.Contains(Card.Zone)) { return; } if (Triggers.Count > 0 && !Triggers.Contains(gameEvent.Identity)) { return; } CanBeUsed = _SetUp(); if (CanBeUsed && Card is Support) { Card.State = Card.States.CanBeActivated; } }
public void WipeTargets() { ValidTargets.Clear(); Targets.Clear(); }