using TMPro; using UnityEngine; using UnityEngine.UI; public class MonsterSimpleInfo : MonoBehaviourSingletonTemplate { public GameObject go_child; public GameObject go_boss; public Image[] sprites; // 0 몹 얼굴, 1 잠금 public TextMeshProUGUI[] labels; // 0 레벨 public Slider slider_hp; public IngameBuffDebuffBase m_IngameBuffDebuffBase; bool isActor; Actor m_Actor; private void Start() { Off(); } public void Off() { if (isActor && m_Actor.IsRole(eRole.Mob) && m_Actor.IsSubRole(eSubRol.Boss)) MyValue.m_RealCamera.Set_LockTarget(null); go_child.SetActive(false); m_Actor = null; isActor = false; m_IngameBuffDebuffBase.AllOff(); } public void Set(Actor actor) { if (isActor && m_Actor.m_IsLockTarget) return; go_child.SetActive(true); m_Actor = actor; isActor = true; go_boss.SetActive(m_Actor.IsSubRole(eSubRol.Boss)); //sprites[0].spriteName = ""; // TODO 정인호 : 몹 얼굴 없음 sprites[1].canvasRenderer.SetAlpha(0.25f); var maplvdata = table_monsterappear.Ins.Get_Data_orNull(m_Actor.Get_Group()); labels[0].text = $"Lv.{maplvdata.n_AppearMonsterLv}"; slider_hp.value = (float)(m_Actor.Get_HP() / m_Actor.Get_MaxHP()); } public void DeadTarget(Actor actor) { if (isActor && actor == m_Actor) Off(); } public bool IsMe(Actor actor) { return actor == m_Actor; } private void Update() { if (isActor) slider_hp.value = (float)(m_Actor.Get_HP() / m_Actor.Get_MaxHP()); } public void Set_DelLockTarget(bool isDead) { sprites[1].canvasRenderer.SetAlpha(0.25f); if (isActor) m_Actor.m_IsLockTarget = false; MyValue.MyPC.Del_Target(); MyValue.m_RealCamera.Set_LockTarget(null); if (isDead) Off(); } public void OnClick_Lock() { if (isActor) { m_Actor.m_IsLockTarget = !m_Actor.m_IsLockTarget; if (m_Actor.m_IsLockTarget) { sprites[1].canvasRenderer.SetAlpha(1f); MyValue.MyPC.Change_Target(true, m_Actor); if (m_Actor.IsRole(eRole.Mob) && m_Actor.IsSubRole(eSubRol.Boss)) MyValue.m_RealCamera.Set_LockTarget(m_Actor.transform); } else Set_DelLockTarget(false); } } public void OnClick_Close() { if (isActor) Set_DelLockTarget(false); Off(); } }