Example #1
0
    /// <summary>
    /// 加载UI的方式
    /// </summary>
    private void OnUIEnterStyle(RectTransform rect, UIEnterStyle style, TweenCallback onComplete = null, float time = 1)
    {
        Vector2 endPos   = rect.anchoredPosition;
        Vector2 startPos = Vector2.zero;

        switch (style)
        {
        case UIEnterStyle.Null:
            return;

        case UIEnterStyle.FromRightToLeft:
            float startX_frl = endPos.x + rect.rect.width;
            startPos = new Vector2(startX_frl, endPos.y);
            break;

        case UIEnterStyle.FromLeftToRight:
            float startX_flr = endPos.x - rect.rect.width;
            startPos = new Vector2(startX_flr, endPos.y);
            break;

        case UIEnterStyle.FromTopToBottom:
            float startY_ftb = endPos.y + rect.rect.height;
            startPos = new Vector2(endPos.x, startY_ftb);
            break;

        case UIEnterStyle.FromBottomToTop:
            float startY_fbt = endPos.y - rect.rect.height;
            startPos = new Vector2(endPos.x, startY_fbt);
            break;

        default:
            break;
        }
        rect.anchoredPosition = startPos;
        Tweener tweener = rect.DOAnchorPos(endPos, time);

        if (onComplete != null)
        {
            tweener.OnComplete(onComplete);
        }
    }
Example #2
0
    public T UIEnter <T>(UIEnterStyle style, bool isCache = false, bool hasKeys = false, params object[] keys) where T : UIBase
    {
        GameObject obj = ResourceManager.Instance.CreateGameObject(UI_PATH_ROOT + typeof(T).ToString(), isCache);

        if (obj == null)
        {
            Debug.LogWarning("加载UI界面失败!Type:" + typeof(T).ToString());
            return(null);
        }
        obj.transform.SetParent(Canvas.transform);
        RectTransform rect = obj.GetComponent <RectTransform>();

        rect.offsetMin = Vector2.zero;
        rect.offsetMax = Vector2.zero;
        rect.anchorMin = Vector2.zero;
        rect.anchorMax = Vector2.one;
        OnUIEnterStyle(rect, style);
        T t = obj.AddComponent <T>();

        t.InitNode(t.transform);
        t.Init(hasKeys, keys);
        _uiList.Add(t);
        return(t);
    }