예제 #1
0
    private string method_12(Class456 A_0)
    {
        int num = 14;

        if (((A_0.operation_0 == Operation.Sum) && (A_0.int_2 == 0)) && (A_0.int_3 == 0))
        {
            return(smethod_2(new string[] { BookmarkStart.b("䈳圵吷", num), this.method_13(A_0.int_1, A_0.method_0()) }));
        }
        string str = Class1085.smethod_4(A_0.operation_0);

        switch (A_0.operation_0)
        {
        case Operation.Mid:
        case Operation.Min:
        case Operation.Max:
        case Operation.Atan2:
        case Operation.Sin:
        case Operation.Cos:
            return(smethod_2(new string[] { str, this.method_13(A_0.int_1, A_0.method_0()), this.method_13(A_0.int_2, A_0.method_1()) }));

        case Operation.Abs:
        case Operation.Sqrt:
            return(smethod_2(new string[] { str, this.method_13(A_0.int_1, A_0.method_0()) }));
        }
        return(smethod_2(new string[] { str, this.method_13(A_0.int_1, A_0.method_0()), this.method_13(A_0.int_2, A_0.method_1()), this.method_13(A_0.int_3, A_0.method_2()) }));
    }
예제 #2
0
    internal void method_4()
    {
        int num = 0x10;

        if (this.class456_0 != null)
        {
            this.class398_0.method_4(BookmarkStart.b("䀵ȷ尹医䰽ⴿ㝁⡃❅㭇", num));
            for (int i = 0; i < this.class456_0.Length; i++)
            {
                Class456 class2 = this.class456_0[i];
                this.class398_0.method_4(BookmarkStart.b("䀵ȷ尹", num));
                this.class398_0.method_18(BookmarkStart.b("匵䤷吹", num), this.method_12(class2));
                this.class398_0.method_5();
            }
            this.class398_0.method_5();
        }
    }
예제 #3
0
 internal Class456[] method_9()
 {
     if (this.int_3 == 0)
     {
         return(null);
     }
     using (MemoryStream stream = new MemoryStream(this.byte_0))
     {
         BinaryReader reader     = new BinaryReader(stream);
         Class456[]   classArray = new Class456[this.int_3];
         for (int i = 0; i < classArray.Length; i++)
         {
             classArray[i] = new Class456 {
                 operation_0 = (Operation)reader.ReadByte(), int_0 = reader.ReadByte(), int_1 = reader.ReadInt16(), int_2 = reader.ReadInt16(), int_3 = reader.ReadInt16()
             };
         }
         return(classArray);
     }
 }
예제 #4
0
    internal static int[] smethod_1(ShapeObject A_0)
    {
        Class456[] formulas = A_0.Formulas;
        if ((formulas == null) || (formulas.Length == 0))
        {
            return(null);
        }
        int[] numArray = new int[formulas.Length];
        for (int i = 0; i < formulas.Length; i++)
        {
            int      num3;
            Class456 class2 = formulas[i];
            int      num2   = class2.method_0() ? smethod_0(A_0, numArray, class2.int_1) : class2.int_1;
            int      num    = class2.method_1() ? smethod_0(A_0, numArray, class2.int_2) : class2.int_2;
            int      num4   = class2.method_2() ? smethod_0(A_0, numArray, class2.int_3) : class2.int_3;
            switch (class2.operation_0)
            {
            case Operation.Sum:
                num3 = (num2 + num) - num4;
                break;

            case Operation.Prod:
                num3 = num2 * num;
                if (num4 != 0)
                {
                    num3 /= num4;
                }
                break;

            case Operation.Mid:
                num3 = (num2 + num) / 2;
                break;

            case Operation.Abs:
                num3 = Math.Abs(num2);
                break;

            case Operation.Min:
                num3 = Math.Min(num2, num);
                break;

            case Operation.Max:
                num3 = Math.Max(num2, num);
                break;

            case Operation.If:
                num3 = (num2 > 0) ? num : num4;
                break;

            case Operation.Mod:
                num3 = (int)Math.Sqrt((double)(((num2 * num2) + (num * num)) + (num4 * num4)));
                break;

            case Operation.Atan2:
                num3 = (int)(Class1133.smethod_1(Math.Atan2((double)num, (double)num2)) * 65536.0);
                break;

            case Operation.Sin:
                num3 = (int)(num2 * Math.Sin(Class1133.smethod_0((double)(((float)num) / 65536f))));
                break;

            case Operation.Cos:
                num3 = (int)(num2 * Math.Cos(Class1133.smethod_0((double)(((float)num) / 65536f))));
                break;

            case Operation.CosAtan2:
                num3 = (int)(num2 * Math.Cos(Math.Atan2((double)num4, (double)num)));
                break;

            case Operation.SinAtan2:
                num3 = (int)(num2 * Math.Sin(Math.Atan2((double)num4, (double)num)));
                break;

            case Operation.Sqrt:
                num3 = (int)Math.Floor(Math.Sqrt((double)num2));
                break;

            case Operation.SumAngle:
                num3 = (num2 + (num * 0x10000)) - (num4 * 0x10000);
                break;

            case Operation.Ellipse:
                num3 = (int)(num4 * Math.Sqrt(1.0 - Math.Pow(((double)num2) / ((double)num), 2.0)));
                break;

            case Operation.Tan:
                num3 = (int)(num2 * Math.Tan(Class1133.smethod_0((double)(((float)num) / 65536f))));
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            numArray[i] = num3;
        }
        return(numArray);
    }
 public abstract void Visit(Class456 c);
 public override void Visit(Class456 c) { }