//--------------------------------------------------------
|
// [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<Transform> endCallBack = null;
|
public void Display(string _content, Vector3 _to1, Vector3 _to2, float _delay, Action<Transform> _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);
|
}
|
}
|
|
}
|
|
}
|