using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; public class ExpTextController : MonoBehaviour { private TextMeshPro text; [SerializeField] public float holdTime = 0.3f; [SerializeField] public float fadeTime = 0.2f; [SerializeField] public float upwardForce = 2.0f; [SerializeField] public float horizontalForce = 0.5f; [SerializeField] public Rigidbody2D body; private void Awake() { text = transform.GetComponent(); body = GetComponent(); } public void Setup(int amount) { text.SetText("+" + amount.ToString()); } // Start is called before the first frame update private void Start() { body.AddForce(new Vector2(Random.Range(-0.5f, 0.5f) * horizontalForce, Random.Range(0f, 1f) * upwardForce)); Invoke("StartFadeOut", holdTime); } public void StartFadeOut() { StartCoroutine("FadeOut"); } IEnumerator FadeOut() { for (float i = fadeTime; i >= 0; i -= Time.deltaTime) { text.alpha = i / fadeTime; yield return null; } Destroy(gameObject); } }