huddmg 최적화

This commit is contained in:
Ino 2025-03-05 11:50:34 +09:00
parent bc2367a27b
commit cfc986cb83
6 changed files with 14 additions and 24 deletions

View File

@ -66,5 +66,3 @@ messageinfo 엄청 느린 버그
- https://www.notion.so/devlucas/c4dc5df0d9d64c95963c6e540acdca7c#e3ef07bc84ff424790bb723835bbce87
hud 이상 수정
타겟 락 시 카메라 타겟에게 고정

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -6,25 +6,24 @@ public class HUDBase : MyCoroutine
protected Transform m_Target;
protected Camera m_Camera;
bool isRect = false;
bool isTarget = false, isCanvasRect = false, isMainCam = false;
bool isRect = false, isCanvasRect = false, isMainCam = false, isTarget = false;
void Init()
{
if (!isRect)
{
m_RectTransform = GetComponent<RectTransform>();
isRect = !DSUtil.CheckNull(m_RectTransform);
isRect = m_RectTransform;
}
if (!isCanvasRect)
{
m_CanvasRect = GetComponentInParent<Canvas>().GetComponent<RectTransform>();
isCanvasRect = !DSUtil.CheckNull(m_CanvasRect);
isCanvasRect = m_CanvasRect;
}
if (!isMainCam)
{
m_Camera = Camera.main;
isMainCam = !DSUtil.CheckNull(m_Camera);
isMainCam = m_Camera;
}
}
@ -32,11 +31,12 @@ public class HUDBase : MyCoroutine
{
Init();
m_Target = _target;
isTarget = m_Target;
}
void Update()
{
if (!DSUtil.CheckNull(m_Target) && isCanvasRect && isMainCam)
if (isTarget && isCanvasRect && isMainCam)
{
Vector2 ViewportPosition = m_Camera.WorldToViewportPoint(m_Target.position);
Vector2 WorldObject_ScreenPosition = new Vector2(

View File

@ -9,6 +9,7 @@ public class HUDDMGUI : HUDBase
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)
{
@ -26,30 +27,21 @@ public class HUDDMGUI : HUDBase
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;
if (usedmg2)
{
dmgs[0].gameObject.SetActive(false);
dmgs[1].gameObject.SetActive(true);
}
else
{
dmgs[0].gameObject.SetActive(true);
dmgs[1].gameObject.SetActive(false);
}
dmgs[0].enabled = !usedmg2;
dmgs[1].enabled = usedmg2;
m_Index = usedmg2 ? 1 : 0;
Set_Coroutine(Off, destroyTime);
}
private void LateUpdate()
{
int index = usedmg2 ? 1 : 0;
dmgs[index].transform.Translate(new Vector3(0, moveSpeed * Time.deltaTime, 0)); // 텍스트 위치
dmgs[index].alpha = Mathf.Lerp(dmgs[index].alpha, 0, Time.deltaTime * alphaSpeed); // 텍스트 알파값
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); // 텍스트 알파값
}
}

View File

@ -40,7 +40,7 @@ public class MonsterSimpleInfo : MonoBehaviourSingletonTemplate<MonsterSimpleInf
public void Set_DelLockTarget(bool isDead)
{
sprites[1].canvasRenderer.SetAlpha(0.25f);
m_Actor.m_IsLockTarget = false;
if (isActor) m_Actor.m_IsLockTarget = false;
MyValue.MyPC.Del_Target();
MyValue.m_RealCamera.Set_LockTarget(null);
if (isDead) Off();