Files
pgs/Assets/Scripts/ExpTextController.cs

46 lines
1.2 KiB
C#
Raw Permalink Normal View History

2026-02-21 16:58:22 -08:00
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<TextMeshPro>();
body = GetComponent<Rigidbody2D>();
}
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);
}
}