protected override void ExecuteQuery() { var targets = new Targets(); foreach (var validator in D._p.TargetSelector.Effect) { if (NoValidTargets(validator)) { continue; } var selectTargetParameters = new SelectTargetParameters { Validator = validator, CanCancel = false, TriggerMessage = D._p.Effect.TriggerMessage <object>() }; var dialog = Ui.Dialogs.SelectTarget.Create(selectTargetParameters); Ui.Shell.ShowModalDialog(dialog, DialogType.Small, InteractionState.SelectTarget); foreach (var target in dialog.Selection) { targets.AddEffect(target); } } if (D._p.DistributeAmount > 0) { targets.Distribution = DistributeAmount(targets.Effect, D._p.DistributeAmount); } Result = new ChosenTargets(targets); }
public ScenarioStep NoValidTarget() { _results.Add(new DecisionResult(ChosenTargets.None())); return(this); }
public void SetResult(int index) { Result = new ChosenTargets(_targets[index]); }
public MachineHandler() { Result = new ChosenTargets(null); _executor = new MachinePlanExecutor(this); }
protected override void ExecuteQuery() { Result = GetNextScenarioResult() ?? ChosenTargets.None(); }