public ForNumberOfTurns(Effect effect, int duration, bool isDebuff) { _effect = effect; _remainingDuration = duration; _isDebuff = isDebuff; BattleEvent.Subscribe <TurnEnd>((turnEnd) => AdvanceTurn(), this); }
public void Apply(Member source, Target target) { new QueueEffect(_effect).Apply(source, target); BattleEvent.Subscribe <FeedCardResolutionStarted>( (msg) => { if (_feedType.ToString().Equals(msg.CardFeedType)) { _effect.Apply(source, target); } BattleEvent.Unsubscribe(this); }, this); }
public void Apply(Member source, Target target) { Effect effect = new UnqueueAfterExceuteEffect(_effect); BattleEvent.Publish(new AddEffectToQueue(effect)); BattleEvent.Subscribe <EffectApplied>( (msg) => { if (msg.Effect.Equals(_effect)) { BattleEvent.Publish(new RemoveEffectFromQueue(msg.Effect)); BattleEvent.Unsubscribe(this); } }, this); }
public OnNextCardEffect(Effect effect) { _effect = effect; _active = false; BattleEvent.Subscribe <CardResolutionStarted>((resolutionEnded) => NextCard(), this); }
void Effect.Apply(Member source, Target target) { _performer = source; _effectTarget = target; BattleEvent.Subscribe <AttackPerformed>(attackPerformed => Execute(attackPerformed.Attack), this); }
void OnEnable() { BattleEvent.Subscribe <ReplayLastCard>(_ => cardResolutionZone.LastPlayed.Perform(), this); }
public OnNextTurnEffect(Effect effect) { _effect = effect; BattleEvent.Subscribe <TurnEnd>((turnEnd) => AdvanceTurn(), this); }
void OnEnable() { BattleEvent.Subscribe <AddEffectToQueue>((msg) => battleState.QueuedEffects.Add(msg.Effect), this); }
private void OnEnable() { BattleEvent.Subscribe <MemberUnconscious>(ResolveUnconscious, this); setupAfter.Subscribe(Setup, this); }
private void OnEnable() => BattleEvent.Subscribe <T>(Execute, this);
private void OnEnable() => BattleEvent.Subscribe <MemberUnconscious>(ResolveUnconscious, this);
void OnEnable() { BattleEvent.Subscribe <RemoveEffectFromQueue>((msg) => battleState.QueuedEffects.Remove(msg.Effect), this); }
public void Apply(Member source, Target target) { _effectTarget = target; BattleEvent.Subscribe <AttackToPerform>(attackToPerform => Execute(attackToPerform.Attack), this); }
public void Apply(Member source, Target target) { BattleEvent.Subscribe <TurnStart>(_ => Execute(source, target), this); }