49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
|
|
public class HUDDMGUI : HUDBase
|
|
{
|
|
public TextMeshProUGUI[] dmgs;
|
|
|
|
private float moveSpeed = 1.0f;
|
|
private float alphaSpeed = 0.5f;
|
|
private float destroyTime = .9f;
|
|
bool usedmg2;
|
|
int m_Index;
|
|
|
|
public void Set(Transform _target, string TextColor, double Damage, eStat Critical)
|
|
{
|
|
if (NewGameUI.Ins.m_BangchiUI.isActiveAndEnabled || !OptionInfo.Ins.go_check[0].activeSelf)
|
|
{
|
|
Off(true);
|
|
return;
|
|
}
|
|
|
|
gameObject.SetActive(true);
|
|
Set_Target(_target);
|
|
Set_Pos();
|
|
|
|
Vector3 randomPosition = new Vector3(
|
|
Random.Range(-25f, 25f), // x 축 랜덤 범위
|
|
Random.Range(-25f, 25f) // y 축 랜덤 범위
|
|
);
|
|
dmgs[0].transform.localPosition = dmgs[1].transform.localPosition = randomPosition;
|
|
//dmgs[0].transform.localPosition = dmgs[1].transform.localPosition = Vector3.zero;
|
|
dmgs[0].alpha = dmgs[1].alpha = 1f;
|
|
dmgs[0].text = dmgs[1].text = DSUtil.Format("{0}{1}", TextColor, NumberFormatter.FormatNumber(Damage));
|
|
|
|
usedmg2 = Critical == eStat.CRI || Critical == eStat.M_CRI;
|
|
dmgs[0].enabled = !usedmg2;
|
|
dmgs[1].enabled = usedmg2;
|
|
m_Index = usedmg2 ? 1 : 0;
|
|
|
|
OffTime = destroyTime;
|
|
isUpdate = false;
|
|
}
|
|
|
|
private void LateUpdate()
|
|
{
|
|
dmgs[m_Index].transform.Translate(new Vector3(0, moveSpeed * Time.deltaTime, 0)); // 텍스트 위치
|
|
dmgs[m_Index].alpha = Mathf.Lerp(dmgs[m_Index].alpha, 0, Time.deltaTime * alphaSpeed); // 텍스트 알파값
|
|
}
|
|
} |