Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
RectTransformExt.cs
Go to the documentation of this file.
1using UnityEngine;
2
3public static class RectTransformExt
4{
5 public static void GetLocalCorners(this RectTransform rt, Vector3[] fourCornersArray, Canvas canvas, float insetL, float insetR, float insetY)
6 {
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;
17 }
18
19 public static void GetScreenCorners(this RectTransform rt, Vector3[] fourCornersArray, Canvas canvas, float insetL, float insetR, float insetY)
20 {
21 rt.GetWorldCorners(fourCornersArray);
22 if (canvas.renderMode == RenderMode.ScreenSpaceCamera)
23 {
24 for (int i = 0; i < 4; i++)
25 {
26 fourCornersArray[i] = canvas.worldCamera.WorldToScreenPoint(fourCornersArray[i]);
27 fourCornersArray[i].z = 0f;
28 }
29 }
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;
39 }
40}
static void GetScreenCorners(this RectTransform rt, Vector3[] fourCornersArray, Canvas canvas, float insetL, float insetR, float insetY)
static void GetLocalCorners(this RectTransform rt, Vector3[] fourCornersArray, Canvas canvas, float insetL, float insetR, float insetY)