|   | 
| using UnityEngine; | 
| using System; | 
| using UnityEngine.UI; | 
|   | 
| public class BattleTips : MonoBehaviour | 
| { | 
|     public Vector2 beginPos = Vector2.zero; | 
|     public Vector2 endPos = new Vector2(0, 100); | 
|     public float showTime = 0.4f; | 
|     public float timer = 0f; | 
|   | 
|     public RectTransform rectTransform; | 
|   | 
|     public Text tipText; | 
|   | 
|     public Action OnFinish; | 
|   | 
|     public void SetText(string text) | 
|     { | 
|         tipText.text = text; | 
|         rectTransform.anchoredPosition = Vector2.zero; | 
|         timer = 0f; | 
|         gameObject.SetActive(true); | 
|     } | 
|   | 
|   | 
|     //  不要使用update | 
|     public void Run() | 
|     { | 
|         if (!gameObject.activeSelf) | 
|             return; | 
|   | 
|         if (timer >= showTime) | 
|         { | 
|             OnFinish?.Invoke(); | 
|             OnFinish = null; | 
|             return; | 
|         } | 
|   | 
|         rectTransform.anchoredPosition = Vector2.Lerp(beginPos, endPos, timer / showTime); | 
|         timer += Time.deltaTime; | 
|     } | 
| } |