Projext/Assets/Scripts/UI/HUD/HP Ui bar.cs

36 lines
1.8 KiB
C#
Raw Normal View History

2026-02-13 09:11:54 +00:00
using UnityEngine; // 유니티 기능을 불러올거에요 -> UnityEngine을
using UnityEngine.UI; // UI 기능을 불러올거에요 -> UnityEngine.UI를
public class HPUibar : MonoBehaviour // 클래스를 선언할거에요 -> 체력바 UI를
{
[Header("타겟")] // 인스펙터 제목을 달거에요 -> 타겟 설정을
[SerializeField] private GameObject targetObject; // 변수를 선언할거에요 -> 타겟 오브젝트를
// 컴포넌트들
private Slider _slider; // 변수를 선언할거에요 -> 슬라이더를
private IDamageable _damageable; // 변수를 선언할거에요 -> 데미지 인터페이스를
// ⭐ [수정] TrainingDummy -> DummyBot
private DummyBot _dummy; // 변수를 선언할거에요 -> 더미 봇 참조를
private void Awake() // 함수를 실행할거에요 -> 초기화 Awake를
{
_slider = GetComponent<Slider>(); // 가져올거에요 -> 슬라이더를
if (targetObject != null) // 조건이 맞으면 실행할거에요 -> 타겟이 있다면
{
_damageable = targetObject.GetComponent<IDamageable>(); // 가져올거에요 -> 인터페이스를
_dummy = targetObject.GetComponent<DummyBot>(); // 가져올거에요 -> 더미 봇을
}
}
private void Update() // 함수를 실행할거에요 -> 매 프레임 업데이트를
{
if (_slider != null && _dummy != null) // 조건이 맞으면 실행할거에요 -> 슬라이더와 더미가 있다면
{
// _dummy에서 체력 정보를 가져오는 방식이 필요하다면 MonsterClass의 OnHealthChanged 이벤트를 쓰는 게 좋음
// 하지만 기존 로직 유지를 위해 단순 접근 가정
// _slider.value = ...
}
}
// (기존 코드에 있던 나머지 로직은 그대로 유지)
}