protected void OpenWindow() { WindowAnimation.Stop(); WindowAnimation .SetDuration(0.4f) .SetEaseType(Ease.Type.OutElastic); WindowAnimation.Play(CalculateDragLimit); }
/// <summary> /// 关闭窗口. /// </summary> public void CloseDialog() { WindowAnimation Win = UIHelper.GetComponent <WindowAnimation>(transform.parent); if (Win != null) { Win.ColseWindow(CloseWindow); } }
public override void Close() { base.Close(); WindowAnimation.Stop(); WindowAnimation .SetDuration(0.2f) .SetEaseType(Ease.Type.InBack); WindowAnimation.Reverse(() => Closed()); }
/// <summary> /// 点击关闭按钮 /// </summary> private void OnBtnCloseClick() { WindowAnimation wa = GetComponent <WindowAnimation>(); if (null != wa) //如果窗口上有WindowAnimation组件,那么先执行动画,再执行Destroy(gameObject); //关闭窗口回调 { wa.OnWindowClose((close) => { Destroy(gameObject); }); } else { Destroy(gameObject); } }
public static void SetWindowAnimation(DependencyObject obj, WindowAnimation value) { obj.SetValue(WindowAnimationProperty, value); }
public WindowAnimationState(WindowAnimation animation,float time, Transform border, Transform buttons, Vector3 translation) { this.m_animation = animation; this.m_timeLeft = time; this.m_initPositionB = border.localPosition; this.m_initPositionBu = buttons != null ? buttons.localPosition : Vector3.zero; this.m_translation = translation; }
// indique la translation des éléments suite à l'animation private Vector3 CalculateFullTranslation(WindowAnimation animation, bool reduced) { Vector3 finalPosition = Vector3.zero; switch((int)animation){ case (int)WindowAnimation.Top : finalPosition.z = this.m_animationDistance; break; case (int)WindowAnimation.Bottom: finalPosition.z = -this.m_animationDistance; break; case (int)WindowAnimation.Right: finalPosition.x = this.m_animationDistance; break; case (int)WindowAnimation.Left: finalPosition.x = -this.m_animationDistance; break; } return reduced ? finalPosition : -finalPosition; }