Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
 public ButtonResultCommand(Object context, AbstractTaskResult result)
     : base(context as IHasControlActions)
 {
     _context = context as IHasResult;
     _result = result;
 }
Example #4
0
 protected virtual bool Result(IHasResult result) => false;