UnityEditor.Joint2DEditorBase.RotateVector2 C# (CSharp) Method

RotateVector2() protected static method

protected static RotateVector2 ( Vector2 direction, float angle ) : Vector2
direction Vector2
angle float
return Vector2
        protected static Vector2 RotateVector2(Vector2 direction, float angle)
        {
            float f = 0.01745329f * -angle;
            float num2 = Mathf.Cos(f);
            float num3 = Mathf.Sin(f);
            float x = (direction.x * num2) - (direction.y * num3);
            return new Vector2(x, (direction.x * num3) + (direction.y * num2));
        }

Usage Example

Exemplo n.º 1
0
        public new void OnSceneGUI()
        {
            HingeJoint2D hingeJoint2D = (HingeJoint2D)this.target;

            if (!hingeJoint2D.enabled)
            {
                return;
            }
            if (hingeJoint2D.useLimits)
            {
                Vector3 vector   = Joint2DEditorBase.TransformPoint(hingeJoint2D.transform, hingeJoint2D.anchor);
                float   num      = Mathf.Min(hingeJoint2D.limits.min, hingeJoint2D.limits.max);
                float   num2     = Mathf.Max(hingeJoint2D.limits.min, hingeJoint2D.limits.max);
                float   angle    = num2 - num;
                float   num3     = HandleUtility.GetHandleSize(vector) * 0.8f;
                float   rotation = hingeJoint2D.GetComponent <Rigidbody2D>().rotation;
                Vector3 vector2  = Joint2DEditorBase.RotateVector2(Vector3.right, -num2 - rotation);
                Vector3 end      = vector + Joint2DEditorBase.RotateVector2(Vector3.right, -hingeJoint2D.jointAngle - rotation) * num3;
                Handles.color = new Color(0f, 1f, 0f, 0.7f);
                Joint2DEditorBase.DrawAALine(vector, end);
                Handles.color = new Color(0f, 1f, 0f, 0.03f);
                Handles.DrawSolidArc(vector, Vector3.back, vector2, angle, num3);
                Handles.color = new Color(0f, 1f, 0f, 0.7f);
                Handles.DrawWireArc(vector, Vector3.back, vector2, angle, num3);
                this.DrawTick(vector, num3, 0f, vector2, 1f);
                this.DrawTick(vector, num3, angle, vector2, 1f);
            }
            base.OnSceneGUI();
        }
All Usage Examples Of UnityEditor.Joint2DEditorBase::RotateVector2