/// <summary> /// 关闭动画 /// </summary> void CloseAnimation() { float x = (_canvasScaler.referenceResolution.x / 2); StartCoroutine(MailboxTool.MoveUI(_topTra.transform, new Vector3(-(x + _topTra.GetComponent <RectTransform>().sizeDelta.x / 2), _topTra.localPosition.y), () => { StartCoroutine(MailboxTool.MoveUI(_contentScrollRect.transform, new Vector3(-(x + _contentScrollRect.GetComponent <RectTransform>().sizeDelta.x / 2), _contentScrollRect.transform.localPosition.y), () => { if (_mailData._isHaveAccessory) { StartCoroutine(MailboxTool.MoveUI(_colourBarTra.transform, new Vector3(-(x + _colourBarTra.GetComponent <RectTransform>().sizeDelta.x / 2), _colourBarTra.transform.localPosition.y), () => { QuitMoveItem(_mailAccessoryItems, 0, () => { ChangBtnScale(Vector3.zero, () => { StopAllCoroutines(); ResetDataType(); Hide(); }); }); }, _animationSpeed)); } else { ResetDataType(); Hide(); } }, _animationSpeed)); }, _animationSpeed)); }
/// <summary> /// 移动彩条 /// </summary> /// <param name="tage"></param> /// <param name="tageScale"></param> /// <param name="endAction"></param> void FollowUpAnimation(Vector3 tage, Vector3 tageScale, Action endAction) { StartCoroutine(MailboxTool.MoveUI(_colourBar, tage, () => { ChangBtnScale(tageScale, endAction); }, _animationSpeed)); }
/// <summary> /// 开始动画 /// </summary> public void StartAnimation() { float x = (_canvasScaler.referenceResolution.x / 2); _outBtn.gameObject.SetActive(true); StartCoroutine(MailboxTool.MoveUI(_topTra.transform, new Vector3(-(x - _topTra.GetComponent <RectTransform>().sizeDelta.x / 2), _topTra.localPosition.y), () => { StartCoroutine(MailboxTool.MoveUI(_contentScrollRect.transform, new Vector3(-(x - _contentScrollRect.GetComponent <RectTransform>().sizeDelta.x / 2), _contentScrollRect.transform.localPosition.y), () => { if (_mailData._isHaveAccessory) { StartCoroutine(MailboxTool.MoveUI(_colourBarTra.transform, new Vector3(-(x - _colourBarTra.GetComponent <RectTransform>().sizeDelta.x / 2), _colourBarTra.transform.localPosition.y), () => { MoveItem(_mailAccessoryItems, 0, () => { ChangBtnScale(Vector3.one, () => { _uiIntegralController.interactable = true; }); }); }, _animationSpeed)); } else { _uiIntegralController.interactable = true; } }, _animationSpeed)); }, _animationSpeed)); }
/// <summary> /// 移动邮件 /// </summary> /// <param name="tages"></param> /// <param name="x"></param> /// <param name="isRecover"></param> /// <param name="endAction"></param> /// <param name="index"></param> void MoveMail(List <Transform> tages, float x, bool isRecover, Action endAction, int index) { if (index < tages.Count - 1) { StartCoroutine(MailboxTool.MoveUITwo(tages[index], new Vector3(x, tages[index].localPosition.y), () => { index = index + 1; MoveMail(tages, x, isRecover, endAction, index); }, _animationSpeed, 150f)); } else if (index == tages.Count - 1) { StartCoroutine(MailboxTool.MoveUI(tages[index], new Vector3(x, tages[index].localPosition.y), () => { Transform cont = _contentRectTra.Find("Content"); ContentSizeFitter contentSizeFitter = cont.GetComponent <ContentSizeFitter>(); VerticalLayoutGroup verticalLayoutGroup = cont.GetComponent <VerticalLayoutGroup>(); if (isRecover) { cont.localPosition = new Vector3(0, cont.localPosition.y); contentSizeFitter.enabled = true; verticalLayoutGroup.enabled = true; } endAction?.Invoke(); }, _animationSpeed)); Debug.Log("最后一封"); } }