//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, October 27, 2017 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System; namespace vnxbqy.UI { public class AttributePromoteBehaviour : MonoBehaviour { [SerializeField] float m_StayDuration = 2f; [SerializeField] float m_DispearDuration = 0.5f; [SerializeField] Text m_Content; [SerializeField] PositionTween m_PositionTween; [SerializeField] ScaleTween m_ScaleTween; [SerializeField] UIAlphaTween m_AlphaTween; Vector3 to1 = Vector3.zero; Vector3 to2 = Vector3.zero; float delay = 0f; Action endCallBack = null; public void Display(string _content, Vector3 _to1, Vector3 _to2, float _delay, Action _callBack) { to1 = _to1; to2 = _to2; endCallBack = _callBack; m_Content.text = _content; m_PositionTween.from = this.transform.localPosition; m_PositionTween.to = _to1; m_PositionTween.SetStartState(); m_ScaleTween.SetStartState(); m_AlphaTween.SetStartState(); delay = _delay; m_PositionTween.delay = _delay; m_PositionTween.duration = 0.35f; m_PositionTween.Play(OnPositionEnd); } private void OnPositionEnd() { m_PositionTween.delay = m_StayDuration; m_ScaleTween.delay = m_StayDuration; m_AlphaTween.delay = m_StayDuration; m_PositionTween.duration = m_DispearDuration; m_ScaleTween.duration = m_DispearDuration; m_AlphaTween.duration = m_DispearDuration; m_PositionTween.from = to1; m_PositionTween.to = to1.SetX(to2.x); m_PositionTween.Play(OnAllEnd); m_ScaleTween.Play(); m_AlphaTween.Play(); } private void OnAllEnd() { if (endCallBack != null) { endCallBack(this.transform); } } } }