private IEnumerator Adjust(UISafeArea safeArea, RectTransform canvasRectTransform) { //workaround unity issue when rotation is reported before the safe area adjust yield return(new WaitForEndOfFrame()); RectTransform rectTransform = (RectTransform)this.transform; if (Screen.orientation == ScreenOrientation.LandscapeRight) { //notch on right rectTransform.offsetMin = new Vector2(canvasRectTransform.rect.width + safeArea.rightMarginRectSize, 0); rectTransform.offsetMax = Vector2.zero; } else if (Screen.orientation == ScreenOrientation.Landscape) { //notch on left rectTransform.offsetMin = Vector2.zero; rectTransform.offsetMax = new Vector2(-canvasRectTransform.rect.width + safeArea.leftMarginRectSize, 0); } else if (Screen.orientation == ScreenOrientation.Portrait) { rectTransform.offsetMin = new Vector2(0, safeArea.RectTransform.rect.height + safeArea.bottomMarginRectSize); rectTransform.offsetMax = new Vector2(safeArea.rightMarginRectSize, 0); } else if (Screen.orientation == ScreenOrientation.PortraitUpsideDown) { rectTransform.offsetMin = new Vector2(0, 0); rectTransform.offsetMax = new Vector2(0, -canvasRectTransform.rect.height + safeArea.bottomMarginRectSize); } }
public void ToastPresent(int delta, Action OnAnimationComplete) { Debug.Log($"Delta: {delta}"); string deltaText = ""; if (delta > 0) { deltaText += "+" + delta; } else if (delta < 0) { deltaText += delta; } DeltaDiferenceText.text = deltaText; float topMargin = 0; UISafeArea safeArea = this.transform.parent.GetComponent <UISafeArea>(); if (safeArea != null) { topMargin = safeArea.topMarginRectSize; } Vector2 hiddenPosition = new Vector2(rectTransform.anchoredPosition.x, rectTransform.rect.height - topMargin); rectTransform.anchoredPosition = hiddenPosition; CoinsCount.text = String.Format("{0:n0}", currentCoins - delta); Animation.Play("ToastMessage"); }
private void Awake() { this.uiSafeArea = base.GetComponentInParent <UISafeArea>(); this.moveController = base.GetComponent <EfcCont>(); float x = this.uiSafeArea.GetWidgetSize().x; this.showPositionX = this.uiSafeArea.transform.localPosition.x - x * 0.5f + (float)this.frameWidget.width; this.closePositionX = this.uiSafeArea.transform.localPosition.x + x * 0.5f; }
public void SafeAreaChanged(UISafeArea safeArea, RectTransform canvasRectTransform) { RectTransform rectTransform = (RectTransform)this.transform; rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, safeArea.topMarginRectSize, canvasRectTransform.rect.height); rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, safeArea.rightMarginRectSize, canvasRectTransform.rect.width); rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, -safeArea.leftMarginRectSize, canvasRectTransform.rect.width); rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, -safeArea.bottomMarginRectSize, canvasRectTransform.rect.height); }
protected void ShowDLG() { UISafeArea component = base.GetComponent <UISafeArea>(); if (null != component) { UIWidget component2 = component.GetComponent <UIWidget>(); component2.leftAnchor.absolute = this.originLeftAnchorAbsolute; } Vector3 localPosition = base.gameObject.transform.localPosition; localPosition.x = 0f; base.gameObject.transform.localPosition = localPosition; }
private void ReplacePrefab() { if (null != this.goSRC_Prefab) { this.goSRC_Prv = this.goSRC_Prefab; IEnumerator enumerator = base.transform.GetEnumerator(); try { while (enumerator.MoveNext()) { object obj = enumerator.Current; Transform transform = (Transform)obj; UnityEngine.Object.Destroy(transform.gameObject); } } finally { IDisposable disposable; if ((disposable = (enumerator as IDisposable)) != null) { disposable.Dispose(); } } GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(this.goSRC_Prefab); Vector3 localScale = gameObject.transform.localScale; gameObject.transform.parent = base.transform; gameObject.transform.localScale = localScale; gameObject.transform.localPosition = Vector3.zero; gameObject.name = this.goSRC_Prefab.name; this.target = gameObject; IUISafeAreaChildren[] componentsInChildren = gameObject.GetComponentsInChildren <IUISafeAreaChildren>(); if (componentsInChildren != null) { UISafeArea componentInParent = base.GetComponentInParent <UISafeArea>(); if (null != componentInParent) { for (int i = 0; i < componentsInChildren.Length; i++) { componentsInChildren[i].SetAnchorTarget(componentInParent.transform); } } } } }
public override void OnInspectorGUI() { UISafeArea safeArea = (UISafeArea)target; safeArea.SimulateiPhoneX = EditorGUILayout.Toggle("Simulate iPhone X", safeArea.SimulateiPhoneX); if (safeArea.SimulateiPhoneX) { EditorGUILayout.LabelField("iPhone X simulation work only in Unity Editor. This value will be ignored when running outside Unity Editor"); EditorGUILayout.Space(); } EditorGUILayout.LabelField("Ignore margins:"); safeArea.IgnoreTopMargin = EditorGUILayout.Toggle("Top", safeArea.IgnoreTopMargin); safeArea.IgnoreRightMargin = EditorGUILayout.Toggle("Right", safeArea.IgnoreRightMargin); safeArea.IgnoreBottomMargin = EditorGUILayout.Toggle("Bottom", safeArea.IgnoreBottomMargin); safeArea.IgnoreLeftMargin = EditorGUILayout.Toggle("Left", safeArea.IgnoreLeftMargin); safeArea.IgnoreOpositeNotchMargin = EditorGUILayout.Toggle("Oposite Notch", safeArea.IgnoreOpositeNotchMargin); }
public void InitSafeArea() { if (GUIMain.GetUIRoot() == null) { return; } UIPanel component = BattleStateManager.current.battleUiComponents.transform.GetComponent <UIPanel>(); UIRoot uiroot = GUIMain.GetUIRoot(); GameObject gameObject = new GameObject(); gameObject.layer = component.gameObject.layer; gameObject.transform.SetParent(uiroot.transform); gameObject.transform.localPosition = Vector3.zero; gameObject.transform.localScale = Vector3.one; UIWidget uiwidget = gameObject.AddComponent <UIWidget>(); uiwidget.SetDimensions(1136, 640); uiwidget.SetAnchor(uiroot.transform); component.transform.SetParent(gameObject.transform); component.SetAnchor(gameObject.transform); component.transform.localPosition = Vector3.zero; component.transform.localScale = Vector3.one; this.uiSafeArea = gameObject.AddComponent <UISafeArea>(); }
public void SafeAreaChanged(UISafeArea safeArea, RectTransform canvasRectTransform) { StopAllCoroutines(); StartCoroutine(Adjust(safeArea, canvasRectTransform)); }