/
Lexan97
/
Cowbeat
Обзор
Документация
Войти
/
Lexan97
/
Cowbeat
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Assets/Scripts/Visual/DamagePopup.cs
54 строки
2 KB
Lexa97
Final Commit gor present
26 май 2026, 23:40
26 май 2026, 23:40
70e9bdb
Код
Авторство
О чём код?
using UnityEngine; using TMPro; public class DamagePopup : MonoBehaviour { private float speedY = 2f; private float speedX; private float alpha = 1f; private TextMeshProUGUI text; private Transform cam; public void Setup(float damageAmount, bool flyLeft, bool isFinalHit) { InitializeComponents(flyLeft); if (isFinalHit) { text.text = damageAmount.ToString() + "!"; text.color = new Color(1f, 0.4f, 0f); transform.localScale = Vector3.one * 2.5f; } else { text.text = damageAmount.ToString(); text.color = Color.white; // Можно оставить дефолтный или задать белый transform.localScale = Vector3.one * 1.5f; } } private void InitializeComponents(bool flyLeft) { text = GetComponentInChildren<TextMeshProUGUI>(); cam = Camera.main.transform; speedX = flyLeft ? -1.5f : 1.5f; Destroy(gameObject, 0.7f); } void Update() { if (cam == null) return; Vector3 moveDir = cam.right * speedX + cam.up * speedY; transform.position += moveDir * Time.deltaTime; transform.LookAt(transform.position + cam.forward); speedY -= 5f * Time.deltaTime; speedX = Mathf.Lerp(speedX, 0, Time.deltaTime * 3f); transform.localScale = Vector3.Lerp(transform.localScale, Vector3.one, Time.deltaTime * 8f); alpha -= Time.deltaTime * 1.5f; if (text != null) text.color = new Color(text.color.r, text.color.g, text.color.b, alpha); } }