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 - https://www.notion.so/devlucas/c4dc5df0d9d64c95963c6e540acdca7c#e3ef07bc84ff424790bb723835bbce87
hud 이상 수정 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 Transform m_Target;
protected Camera m_Camera; protected Camera m_Camera;
bool isRect = false; bool isRect = false, isCanvasRect = false, isMainCam = false, isTarget = false;
bool isTarget = false, isCanvasRect = false, isMainCam = false;
void Init() void Init()
{ {
if (!isRect) if (!isRect)
{ {
m_RectTransform = GetComponent<RectTransform>(); m_RectTransform = GetComponent<RectTransform>();
isRect = !DSUtil.CheckNull(m_RectTransform); isRect = m_RectTransform;
} }
if (!isCanvasRect) if (!isCanvasRect)
{ {
m_CanvasRect = GetComponentInParent<Canvas>().GetComponent<RectTransform>(); m_CanvasRect = GetComponentInParent<Canvas>().GetComponent<RectTransform>();
isCanvasRect = !DSUtil.CheckNull(m_CanvasRect); isCanvasRect = m_CanvasRect;
} }
if (!isMainCam) if (!isMainCam)
{ {
m_Camera = Camera.main; m_Camera = Camera.main;
isMainCam = !DSUtil.CheckNull(m_Camera); isMainCam = m_Camera;
} }
} }
@ -32,11 +31,12 @@ public class HUDBase : MyCoroutine
{ {
Init(); Init();
m_Target = _target; m_Target = _target;
isTarget = m_Target;
} }
void Update() void Update()
{ {
if (!DSUtil.CheckNull(m_Target) && isCanvasRect && isMainCam) if (isTarget && isCanvasRect && isMainCam)
{ {
Vector2 ViewportPosition = m_Camera.WorldToViewportPoint(m_Target.position); Vector2 ViewportPosition = m_Camera.WorldToViewportPoint(m_Target.position);
Vector2 WorldObject_ScreenPosition = new Vector2( Vector2 WorldObject_ScreenPosition = new Vector2(

View File

@ -9,6 +9,7 @@ public class HUDDMGUI : HUDBase
private float alphaSpeed = 0.5f; private float alphaSpeed = 0.5f;
private float destroyTime = .9f; private float destroyTime = .9f;
bool usedmg2; bool usedmg2;
int m_Index;
public void Set(Transform _target, string TextColor, double Damage, eStat Critical) public void Set(Transform _target, string TextColor, double Damage, eStat Critical)
{ {
@ -26,30 +27,21 @@ public class HUDDMGUI : HUDBase
Random.Range(-25f, 25f) // y 축 랜덤 범위 Random.Range(-25f, 25f) // y 축 랜덤 범위
); );
dmgs[0].transform.localPosition = dmgs[1].transform.localPosition = randomPosition; dmgs[0].transform.localPosition = dmgs[1].transform.localPosition = randomPosition;
//dmgs[0].transform.localPosition = dmgs[1].transform.localPosition = Vector3.zero; //dmgs[0].transform.localPosition = dmgs[1].transform.localPosition = Vector3.zero;
dmgs[0].alpha = dmgs[1].alpha = 1f; dmgs[0].alpha = dmgs[1].alpha = 1f;
dmgs[0].text = dmgs[1].text = DSUtil.Format("{0}{1}", TextColor, NumberFormatter.FormatNumber(Damage)); dmgs[0].text = dmgs[1].text = DSUtil.Format("{0}{1}", TextColor, NumberFormatter.FormatNumber(Damage));
usedmg2 = Critical == eStat.CRI || Critical == eStat.M_CRI; usedmg2 = Critical == eStat.CRI || Critical == eStat.M_CRI;
if (usedmg2) dmgs[0].enabled = !usedmg2;
{ dmgs[1].enabled = usedmg2;
dmgs[0].gameObject.SetActive(false); m_Index = usedmg2 ? 1 : 0;
dmgs[1].gameObject.SetActive(true);
}
else
{
dmgs[0].gameObject.SetActive(true);
dmgs[1].gameObject.SetActive(false);
}
Set_Coroutine(Off, destroyTime); Set_Coroutine(Off, destroyTime);
} }
private void LateUpdate() private void LateUpdate()
{ {
int index = usedmg2 ? 1 : 0; dmgs[m_Index].transform.Translate(new Vector3(0, moveSpeed * Time.deltaTime, 0)); // 텍스트 위치
dmgs[index].transform.Translate(new Vector3(0, moveSpeed * Time.deltaTime, 0)); // 텍스트 위치 dmgs[m_Index].alpha = Mathf.Lerp(dmgs[m_Index].alpha, 0, Time.deltaTime * alphaSpeed); // 텍스트 알파값
dmgs[index].alpha = Mathf.Lerp(dmgs[index].alpha, 0, Time.deltaTime * alphaSpeed); // 텍스트 알파값
} }
} }

View File

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