예제 #1
0
 private void m000098(c00022f p0)
 {
     c00020e ce = p0.m00009f();
     if (this.m000008() && (ce.m00029f() != enum022e.f0000c0))
     {
         if (ce.m000044() != enum02a.f000039)
         {
             ce.m000091(enum022e.f000243);
             return;
         }
         if (((ce.m00029f() != enum022e.f000244) || (this.f000001 == enum0225.f000045)) || ((this.f00008e == null) || (this.f00005b.Count <= 1)))
         {
             ce.m000031();
         }
     }
     if (this.f000001 != enum0225.f000045)
     {
         if (ce.m00029f() == enum022e.f0000bf)
         {
             ce.m000091(enum022e.f000244);
         }
         if (ce.m00029f() == enum022e.f000244)
         {
             c000029 c = ce.m000282();
             double num = c000057.m000086(this.f000069) - p0.m000024();
             if (num < 0.0)
             {
                 num = 0.0;
                 if (this.m000008() && (ce.m00029f() != enum022e.f0000c0))
                 {
                     ce.m000091(enum022e.f000243);
                     return;
                 }
             }
             else if (num > this.f00008e[this.f00008e.get_Count() - 1].f000069)
             {
                 ce.m000091(enum022e.f000243);
                 return;
             }
             if (num > this.f00008e[this.f00008e.get_Count() - 1].f000069)
             {
                 num = this.f00008e[this.f00008e.get_Count() - 1].f000069;
             }
             Vector3 vector = this.f00008e.m0002a9(num);
             float num2 = 0f;
             if (p0.m000022().Length() > 0f)
             {
                 num2 = (float) Math.Asin((double) (p0.m000022().Y / p0.m000022().Length()));
             }
             if (p0.m000022().X < 0f)
             {
                 num2 = 3.141593f - num2;
             }
             float num3 = 0f;
             if (vector.Length() > 0f)
             {
                 num3 = (float) Math.Asin((double) (vector.Y / vector.Length()));
             }
             if (vector.X < 0f)
             {
                 num3 = 3.141593f - num3;
             }
             float num4 = num3 + num2;
             Vector3 vector2 = new Vector3();
             vector2.X = p0.m000022().Length() * ((float) Math.Cos((double) num4));
             vector2.Y = p0.m000022().Length() * ((float) Math.Sin((double) num4));
             Vector3 vector3 = this.f00008e.m0002a8(num) + vector2;
             c.m000023(c000029.m000034(vector3));
             float num5 = c000029.m00003d(new Vector2(vector.X, vector.Y));
             c.m000025(c000029.m000037(num5));
         }
     }
 }
예제 #2
0
 public void m00010d(c00022f p0)
 {
     this.f00005b.Add(p0);
     this.f00000f += p0.m00009f().m0002d5();
     if ((p0.m000024() * 1000f) > this.f0000a5)
     {
         this.f0000a5 = p0.m000024() * 1000f;
     }
 }