少年修仙传客户端代码仓库
lcy
2024-12-16 a39c35fc6449430cd02bccb681c4a0a880e46cd9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//--------------------------------------------------------
//    [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);
            }
        }
 
    }
 
}