Ejemplo n.º 1
0
        private void DBTEST(ValData answerVal)
        {
            Dictionary <string, ValData> Vars  = this.scenario.Vars;
            ValData                dbOutputVal = answerVal;
            List <string>          stringList1 = new List <string>();
            ValData                valData1;
            Func <string, ValData> func1 = (Func <string, ValData>)(s => Vars.TryGetValue(s, out valData1) ? new ValData(valData1.o) : new ValData(dbOutputVal.Convert((object)s)));
            int num1 = 0;
            Func <string, ValData> func2     = func1;
            List <string>          argsList1 = this.argsList;
            int     index1   = num1;
            int     num2     = index1 + 1;
            string  str1     = argsList1[index1];
            ValData valData2 = func2(str1);

            stringList1.Add(valData2.o.ToString());
            while (num2 < this.argsList.Count)
            {
                List <string>          argsList2 = this.argsList;
                int                    index2    = num2;
                int                    num3      = index2 + 1;
                Calc.Formula2          formula2  = (Calc.Formula2) int.Parse(argsList2[index2]);
                Func <string, ValData> func3     = func1;
                List <string>          argsList3 = this.argsList;
                int                    index3    = num3;
                num2 = index3 + 1;
                string  str2 = argsList3[index3];
                ValData b    = func3(str2);
                stringList1.Add(Calc.Cast(formula2));
                stringList1.Add(b.o.ToString());
                valData2 = Calc.Calculate(valData2, Calc.Formula2to1(formula2), b);
            }
            dbOutputVal = Calc.Calculate(dbOutputVal, (Calc.Formula1) int.Parse(this.arg1), valData2);
            Calc.Formula1 formula = (Calc.Formula1) int.Parse(this.arg1);
            int           num4    = 0;

            if (formula != Calc.Formula1.Equal)
            {
                stringList1.Insert(num4++, answerVal.o.ToString());
            }
            List <string> stringList2 = stringList1;
            int           index4      = num4;
            int           num5        = index4 + 1;
            string        str3        = Calc.Cast(formula);

            stringList2.Insert(index4, str3);
            Debug.LogFormat("answer:{0}\n{1}", new object[2]
            {
                dbOutputVal.o,
                (object)string.Join(" ", stringList1.ToArray())
            });
        }
Ejemplo n.º 2
0
        public static string Cast(Calc.Formula2 formula)
        {
            switch (formula)
            {
            case Calc.Formula2.Plus:
                return("+");

            case Calc.Formula2.Minus:
                return("-");

            case Calc.Formula2.Asta:
                return("*");

            case Calc.Formula2.Slash:
                return("/");

            default:
                return(string.Empty);
            }
        }
Ejemplo n.º 3
0
        private static Calc.Formula1 Formula2to1(Calc.Formula2 f2)
        {
            switch (f2)
            {
            case Calc.Formula2.Plus:
                return(Calc.Formula1.PlusEqual);

            case Calc.Formula2.Minus:
                return(Calc.Formula1.MinusEqual);

            case Calc.Formula2.Asta:
                return(Calc.Formula1.AstaEqual);

            case Calc.Formula2.Slash:
                return(Calc.Formula1.SlashEqual);

            default:
                return(Calc.Formula1.Equal);
            }
        }