protected override bool Result(IHasResult result) { var ret = result as IHasResult <T>; if (ret != null) { m_Task.SetResult(ret.Value); m_Observe?.Invoke(ret.Value, null); m_Observe = null; return(true); } return(false); }
private ArgumentSelectionDescriptor getSelectorForType(IHasResult resolved) { // ReSharper disable once SwitchExpressionHandlesSomeKnownEnumValuesWithExceptionInDefault ArgumentSelectionDescriptor selectionDescriptor = model.Type switch { ArgumentType.Privacy => new EnumArgumentDescriptor <ElementPrivacy>(), ArgumentType.Orientation => new EnumArgumentDescriptor <ElementOrientation>(), ArgumentType.SingleNumber => new NumberSelectionDescriptor(), ArgumentType.CardType => new ElementSelectionDescriptor <Card>(), ArgumentType.TileType => new ElementSelectionDescriptor <Tile>(), ArgumentType.TokenType => new ElementSelectionDescriptor <Token>(), ArgumentType.BoardType => new ElementSelectionDescriptor <Board>(), _ => throw new ArgumentOutOfRangeException(nameof(model.Type), model.Type, "Can't create selector for given model, as no selection is available"), }; selectionDescriptor.Current = resolved.Result; return(selectionDescriptor); }
public ButtonResultCommand(Object context, AbstractTaskResult result) : base(context as IHasControlActions) { _context = context as IHasResult; _result = result; }
protected virtual bool Result(IHasResult result) => false;