Example #1
0
        /// <summary>
        /// 新增一個單元運算子
        /// </summary>
        /// <param name="unary">單元運算子</param>
        /// <returns>單元運算子響應</returns>
        public FrameUpdate AddUnary(char unary)
        {
            Feature CurrentFeature = Feature.UNARY;

            return(ThrowOrderException <FrameUpdate>(CurrentFeature, () =>
            {
                FrameUpdate frameUpdate;

                //如果單元連按會有迭代的表現方式
                if (PreviousFeature == Feature.UNARY)
                {
                    frameUpdate = NumberMachine.AddUnaryCombo(unary);
                }
                else
                {
                    //非迭代的case
                    frameUpdate = NumberMachine.AddUnary(unary);
                }

                //執行成功時記錄下這次的Cast
                PreviousFeature = Feature.UNARY;
                return frameUpdate;
            }));
        }
Example #2
0
        /// <summary>
        /// 新增一個單元運算子
        /// </summary>
        /// <param name="unary">單元運算子</param>
        /// <returns>單元運算子響應</returns>
        public UnaryUpdate AddUnary(char unary)
        {
            Feature CurrentCast = Feature.UNARY;

            return(CheckOrder <UnaryUpdate>(CurrentCast, () =>
            {
                UnaryUpdate successResponse;

                //如果單元連按會有迭代的表現方式
                if (PreviousCast == Feature.UNARY)
                {
                    successResponse = NumberMachine.AddUnaryCombo(unary);
                }
                else
                {
                    //非迭代的case
                    successResponse = NumberMachine.AddUnary(unary);
                }

                //執行成功時記錄下這次的Cast
                PreviousCast = Feature.UNARY;
                return successResponse;
            }));
        }