public static void Show(NavigationWindow template, string text, NavigationWindow.Alignment align) { if (UnityEngine.Object.op_Equality((UnityEngine.Object)template, (UnityEngine.Object)null)) { return; } if (NavigationWindow.mNumNavigations == 0) { NavigationWindow.mNavigationCanvas = new GameObject("NavigationCanvas", new System.Type[2] { typeof(Canvas), typeof(SRPG_CanvasScaler) }); Canvas component = (Canvas)NavigationWindow.mNavigationCanvas.GetComponent <Canvas>(); component.set_renderMode((RenderMode)0); component.set_sortingOrder(5000); UnityEngine.Object.DontDestroyOnLoad((UnityEngine.Object)NavigationWindow.mNavigationCanvas); } NavigationWindow navigationWindow = (NavigationWindow)UnityEngine.Object.Instantiate <NavigationWindow>((M0)template); navigationWindow.SetAlignment(align); navigationWindow.SetText(text); ((Component)navigationWindow).get_transform().SetParent(NavigationWindow.mNavigationCanvas.get_transform(), false); ++NavigationWindow.mNumNavigations; }
private void SetAlignment(NavigationWindow.Alignment alignment) { Vector2 zero1 = Vector2.get_zero(); Vector2 zero2 = Vector2.get_zero(); Vector2 zero3 = Vector2.get_zero(); int num1 = (int)(alignment & (NavigationWindow.Alignment.Bottom | NavigationWindow.Alignment.BottomRight)); int num2 = (int)alignment >> 2 & 3; switch (num1) { case 0: zero1.x = (__Null)0.0; zero2.x = (__Null)0.0; zero3.x = this.Margin.x; break; case 1: zero1.x = (__Null)0.5; zero2.x = (__Null)0.5; break; case 2: zero1.x = (__Null)1.0; zero2.x = (__Null)1.0; zero3.x = -this.Margin.x; break; } switch (num2) { case 0: zero1.y = (__Null)0.0; zero2.y = (__Null)0.0; zero3.y = this.Margin.y; break; case 1: zero1.y = (__Null)0.5; zero2.y = (__Null)0.5; break; case 2: zero1.y = (__Null)1.0; zero2.y = (__Null)1.0; zero3.y = -this.Margin.y; break; } RectTransform mRect = this.mRect; Vector2 vector2_1 = zero1; this.mRect.set_anchorMax(vector2_1); Vector2 vector2_2 = vector2_1; mRect.set_anchorMin(vector2_2); this.mRect.set_pivot(zero2); this.mRect.set_anchoredPosition(zero3); }