5 public static void GetLocalCorners(
this RectTransform rt, Vector3[] fourCornersArray, Canvas canvas,
float insetL,
float insetR,
float insetY)
7 rt.GetLocalCorners(fourCornersArray);
8 Vector3 vector = canvas.CorrectLossyScale();
9 fourCornersArray[0].x += insetL * vector.x;
10 fourCornersArray[0].y += insetY * vector.y;
11 fourCornersArray[1].x += insetL * vector.x;
12 fourCornersArray[1].y -= insetY * vector.y;
13 fourCornersArray[2].x -= insetR * vector.x;
14 fourCornersArray[2].y -= insetY * vector.y;
15 fourCornersArray[3].x -= insetR * vector.x;
16 fourCornersArray[3].y += insetY * vector.y;
19 public static void GetScreenCorners(
this RectTransform rt, Vector3[] fourCornersArray, Canvas canvas,
float insetL,
float insetR,
float insetY)
21 rt.GetWorldCorners(fourCornersArray);
22 if (canvas.renderMode == RenderMode.ScreenSpaceCamera)
24 for (
int i = 0; i < 4; i++)
26 fourCornersArray[i] = canvas.worldCamera.WorldToScreenPoint(fourCornersArray[i]);
27 fourCornersArray[i].z = 0f;
30 Vector3 vector = canvas.CorrectLossyScale();
31 fourCornersArray[0].x += insetL * vector.x;
32 fourCornersArray[0].y += insetY * vector.y;
33 fourCornersArray[1].x += insetL * vector.x;
34 fourCornersArray[1].y -= insetY * vector.y;
35 fourCornersArray[2].x -= insetR * vector.x;
36 fourCornersArray[2].y -= insetY * vector.y;
37 fourCornersArray[3].x -= insetR * vector.x;
38 fourCornersArray[3].y += insetY * vector.y;