bool ITriggerEffect.checkCondition(IGame game, ICard card, object[] vars) { if (onCheckCondition != null) { return(onCheckCondition.Invoke(game as THHGame, card as Card, vars)); } else { return(true); } }
public THHEffectAfter(string pile, CheckConditionDelegate onCheckCondition, CheckTargetDelegate onCheckTarget, ExecuteDelegate onExecute) : base(new After <T>(), pile, (game, card, vars) => { if (onCheckCondition != null && vars != null && vars.Length > 0 && vars[0] is T t) { return(onCheckCondition.Invoke(game, card, t)); } else { return(true); } }, onCheckTarget, (game, card, vars, targets) => { if (onExecute != null && vars != null && vars.Length > 0 && vars[0] is T t) { return(onExecute.Invoke(game, card, t)); } else { return(Task.CompletedTask); } }) { }