Example #1
0
        private void _onStartAnim(ViewStatus status, UIAnimResult callback)
        {
            mIsPlayinngAni = true;
            UIAnimResult _callback = (bool ret) =>
            {
                switch (status)
                {
                case ViewStatus.onHideBegin:
                    gameObject.SetActive(false);
                    this.onDisabled();
                    this._onLuaStatusChange(ViewStatus.onDisable);
                    break;

                case ViewStatus.onShowBegin:
                    this.onEnabled();
                    this._onLuaStatusChange(ViewStatus.onEnable);
                    //gameObject.SetActive(true);
                    break;
                }

                mIsPlayinngAni = false;

                //Debug.LogWarningFormat("status:{0}", status.ToString());
                if (null != callback)
                {
                    callback(ret);
                }
            };

            if (null != mLuaFuncs)
            {
                LuaFunction func = _getLuaFunc(status.ToString());
                if (null != func)
                {
                    OnAnimCallbcak = _callback;
                    func.Call();
                    return;
                }
            }

            //不在lua上修改动画直接使用C#定义的
            switch (status)
            {
            case ViewStatus.onHideBegin:
                onHide(_callback);
                break;

            case ViewStatus.onShowBegin:
                onShow(_callback);
                gameObject.SetActive(true);
                break;
            }
        }
Example #2
0
 /// <summary>
 /// 准备显示的处理,可以在这里做打开动画,同时有lua和c#代码时执行lua
 /// </summary>
 public void ShowAnim(UIAnimResult callback)
 {
     onStartAnim(ViewStatus.onShowBegin, callback);
 }
Example #3
0
 /// <summary>
 /// 通过GameUImanager关闭View
 /// </summary>
 /// <param name="callback">Callback.</param>
 public void Hide(UIAnimResult callback)
 {
     GameUIManager.Instance.HideView(this, callback);
 }
Example #4
0
 /// <summary>
 /// 通过GameUImanager显示View
 /// </summary>
 /// <param name="callback">Callback.</param>
 public void Show(UIAnimResult callback)
 {
     GameUIManager.Instance.ShowViewObj(this, callback);
 }
Example #5
0
        protected void runAnimTween(ViewAnimType animType, bool revert, UIAnimResult result)
        {
            if (null != mAnimTween && mAnimTween.IsActive())
            {
                mAnimTween.Kill();
                mAnimTween = null;
            }
            switch (animType)
            {
            case ViewAnimType.none:
                result(true);
                break;

            case ViewAnimType.moveUp:
                if (!revert)
                {
                    float posY = mRectTransform.localPosition.y;
                    mAnimTween = mRectTransform.DOLocalMoveY(posY - AnimValue, AnimTime).SetEase(AnimEase).OnComplete(() => result(true));
                }
                else
                {
                    mAnimTween = mRectTransform.DOLocalMoveY(-AnimValue, AnimTime).From(true).SetEase(AnimEase).OnComplete(() => result(true));
                }
                break;

            case ViewAnimType.moveDown:
                if (!revert)
                {
                    float posY = mRectTransform.localPosition.y;
                    mAnimTween = mRectTransform.DOLocalMoveY(posY + AnimValue, AnimTime).SetEase(AnimEase).OnComplete(() => result(true));
                }
                else
                {
                    mAnimTween = mRectTransform.DOLocalMoveY(AnimValue, AnimTime).From(true).SetEase(AnimEase).OnComplete(() => result(true));
                }
                break;

            case ViewAnimType.move2Left:
                if (!revert)
                {
                    float posX = mRectTransform.localPosition.x;
                    mAnimTween = mRectTransform.DOLocalMoveX(posX + AnimValue, AnimTime).OnComplete(() => result(true));
                }
                else
                {
                    mAnimTween = mRectTransform.DOLocalMoveX(AnimValue, AnimTime).From(true).OnComplete(() => result(true));
                }
                break;

            case ViewAnimType.move2Right:
                if (!revert)
                {
                    float posX = mRectTransform.localPosition.x;
                    mAnimTween = mRectTransform.DOLocalMoveX(posX - AnimValue, AnimTime).OnComplete(() => result(true));
                }
                else
                {
                    mAnimTween = mRectTransform.DOLocalMoveX(-AnimValue, AnimTime).From(true).OnComplete(() => result(true));
                }
                break;

            case ViewAnimType.zoom:
                if (!revert)
                {
                    mAnimTween = transform.DOScale(0f, AnimTime).OnComplete(() => result(true));
                }
                else
                {
                    transform.localScale = Vector3.zero;
                    mAnimTween           = transform.DOScale(AnimValue, AnimTime).OnComplete(() => result(true));
                }
                break;
            }
        }
Example #6
0
 /// <summary>
 /// 准备关闭的处理,可以在这里做关闭动画
 /// </summary>
 protected virtual void onHide(UIAnimResult callback)
 {
     runAnimTween(AnimType, false, callback);
     //callback(true);
 }
Example #7
0
 /// <summary>
 /// 准备显示的处理,可以在这里做打开动画,同时有lua和c#代码时执行lua
 /// </summary>
 protected virtual void onShow(UIAnimResult callback)
 {
     gameObject.SetActive(true);
     runAnimTween(AnimType, true, callback);
     //callback(true);
 }
Example #8
0
 /// <summary>
 /// 准备关闭的处理,可以在这里做关闭动画
 /// </summary>
 public void HideAnim(UIAnimResult callback)
 {
     onStartAnim(ViewStatus.onHideBegin, callback);
 }
Example #9
0
 /// <summary>
 /// 通过GameUImanager关闭View
 /// </summary>
 /// <param name="callback">Callback.</param>
 public void Hide(UIAnimResult callback)
 {
     UIMgr.Instance.HideView(this, callback);
 }
Example #10
0
 /// <summary>
 /// 通过GameUImanager显示View
 /// </summary>
 /// <param name="callback">Callback.</param>
 public void Show(UIAnimResult callback)
 {
     UIMgr.Instance.ShowViewObj(this, callback);
 }
Example #11
0
        protected void runAnimTween(ViewAnimType animType, bool isShow, UIAnimResult result)
        {
            if (null != mAnimTween && mAnimTween.IsActive())
            {
                mAnimTween.Kill();
                mAnimTween = null;
            }
            if (!_animNeeded(isShow))
            {
                result(true);
                return;
            }
            float value = _getAnimValue();

            switch (animType)
            {
            //case ViewAnimType.none :
            //result(true);
            //break;
            case ViewAnimType.moveUp:
                if (!isShow)
                {
                    float posY = mRectTransform.localPosition.y;
                    mAnimTween = mRectTransform.DOLocalMoveY(posY - value, AnimTime).SetEase(AnimEase).OnComplete(() => result(true));
                }
                else
                {
                    mAnimTween = mRectTransform.DOLocalMoveY(-value, AnimTime).From(true).SetEase(AnimEase).OnComplete(() => result(true));
                }
                break;

            case ViewAnimType.moveDown:
                if (!isShow)
                {
                    float posY = mRectTransform.localPosition.y;
                    mAnimTween = mRectTransform.DOLocalMoveY(posY + value, AnimTime).SetEase(AnimEase).OnComplete(() => result(true));
                }
                else
                {
                    mAnimTween = mRectTransform.DOLocalMoveY(value, AnimTime).From(true).SetEase(AnimEase).OnComplete(() => result(true));
                }
                break;

            case ViewAnimType.move2Left:
                if (!isShow)
                {
                    float posX = mRectTransform.localPosition.x;
                    mAnimTween = mRectTransform.DOLocalMoveX(posX + value, AnimTime).OnComplete(() => result(true));
                }
                else
                {
                    mAnimTween = mRectTransform.DOLocalMoveX(value, AnimTime).From(true).OnComplete(() => result(true));
                }
                break;

            case ViewAnimType.move2Right:
                if (!isShow)
                {
                    float posX = mRectTransform.localPosition.x;
                    mAnimTween = mRectTransform.DOLocalMoveX(posX - value, AnimTime).OnComplete(() => result(true));
                }
                else
                {
                    mAnimTween = mRectTransform.DOLocalMoveX(-value, AnimTime).From(true).OnComplete(() => result(true));
                }
                break;

            case ViewAnimType.zoom:
                if (!isShow)
                {
                    mAnimTween = transform.DOScale(0f, AnimTime).OnComplete(() => result(true));
                }
                else
                {
                    transform.localScale = Vector3.zero;
                    mAnimTween           = transform.DOScale(value, AnimTime).OnComplete(() => result(true));
                }
                break;
            }
        }