Ejemplo n.º 1
0
 public LambdaSingleTargetEffect(ExecuteDelegate onExecute,
                                 PileFlag ranges = PileFlag.none,
                                 CheckConditionDelegate onCheckCondition = null,
                                 CheckTargetDelegate onCheckTarget       = null)
 {
     if (ranges != PileFlag.none)
     {
         this.ranges = PileName.getPiles(ranges);
     }
     _onCheckCondition = onCheckCondition;
     _onCheckTarget    = onCheckTarget;
     _onExecute        = onExecute;
 }
Ejemplo n.º 2
0
 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);
     }
 })
 {
 }
Ejemplo n.º 3
0
 public THHEffect(TriggerTime[] triggers, string[] piles, CheckConditionDelegate onCheckCondition, CheckTargetDelegate onCheckTarget, ExecuteDelegate onExecute)
 {
     this.triggers         = triggers;
     this.piles            = piles;
     this.onCheckCondition = onCheckCondition;
     this.onCheckTarget    = onCheckTarget;
     this.onExecute        = onExecute;
 }
Ejemplo n.º 4
0
 public THHEffect(TriggerTime trigger, string pile, CheckConditionDelegate onCheckCondition, CheckTargetDelegate onCheckTarget, ExecuteDelegate onExecute)
 {
     triggers = new TriggerTime[] { trigger };
     piles    = new string[] { pile };
     this.onCheckCondition = onCheckCondition;
     this.onCheckTarget    = onCheckTarget;
     this.onExecute        = onExecute;
 }