Esempio n. 1
0
    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);
        }
    }
Esempio n. 2
0
        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;
    }
Esempio n. 6
0
 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);
                 }
             }
         }
     }
 }
Esempio n. 7
0
    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>();
    }
Esempio n. 9
0
 public void SafeAreaChanged(UISafeArea safeArea, RectTransform canvasRectTransform)
 {
     StopAllCoroutines();
     StartCoroutine(Adjust(safeArea, canvasRectTransform));
 }