using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; //use lean tween next time namespace Lemon.GenericLib.VFX { public class Popup_Text : MonoBehaviour { TextMeshPro PopupText; public string text; public float lifetime = 2; public float startSpeed; public float speed; private float targetSpeed; private float size; private float targetSize; public Transform parent; // Start is called before the first frame update void Start() { PopupText = GetComponent(); PopupText.text = text; targetSpeed = startSpeed; size = 0; targetSize = 1; StartCoroutine(LifeTime()); parent = transform.parent; } // Update is called once per frame void Update() { transform.localPosition += Vector3.up * targetSpeed * Time.deltaTime; transform.localScale = new Vector3(transform.localScale.x, size); targetSpeed = Mathf.Lerp(targetSpeed, speed, 5 * Time.deltaTime); size = Mathf.Lerp(size, targetSize, 20 * Time.deltaTime); if (parent != null) { if (parent.localRotation.y != 0) { transform.localRotation = Quaternion.Euler(0, parent.rotation.y - 180, 0); } else { transform.localRotation = Quaternion.Euler(0, 0, 0); } } } public void SetText(string text) { this.text = text; PopupText.text = this.text; } IEnumerator LifeTime() { yield return new WaitForSeconds(lifetime); targetSize = 0; Destroy(gameObject, 0.25f); } } }