示例#1
0
        // Token: 0x06000043 RID: 67 RVA: 0x0000ABDC File Offset: 0x00008DDC
        public static bool GetIntersectPoint(Vector2 p0, Vector2 p1, Vector2 q0, Vector2 q1, ref Vector2 rate, ref Vector2 pos)
        {
            Vector2 vector = p1 - p0;
            Vector2 q2     = q1 - q0;
            float   num    = CMath.CrossVector2(vector, q2);
            bool    flag   = num == 0f;
            bool    result;

            if (flag)
            {
                result = false;
            }
            else
            {
                Vector2 p2    = q0 - p0;
                float   num2  = CMath.CrossVector2(p2, vector);
                float   num3  = CMath.CrossVector2(p2, q2);
                float   num4  = num2 / num;
                float   num5  = num3 / num;
                bool    flag2 = num5 + 1E-05f < 0f || num5 - 1E-05f > 1f || num4 + 1E-05f < 0f || num4 - 1E-05f > 1f;
                if (flag2)
                {
                    result = false;
                }
                else
                {
                    rate   = new Vector2(num5, num4);
                    pos    = p0 + vector * num5;
                    result = true;
                }
            }
            return(result);
        }
示例#2
0
        // Token: 0x0600004B RID: 75 RVA: 0x0000AFB8 File Offset: 0x000091B8
        public static bool InArcPosition(Vector3 pos, float cx, float cy, float r2)
        {
            float num;

            return(CMath.InArcPosition(pos, cx, cy, r2, out num));
        }
示例#3
0
        // Token: 0x06000048 RID: 72 RVA: 0x0000AF14 File Offset: 0x00009114
        public static Vector3 GetLineCrossPoint(Vector3 p, Vector3 from, Vector3 dir)
        {
            float num;

            return(CMath.GetLineCrossPoint(p, from, dir, out num));
        }