71 lines
2.0 KiB
C#
71 lines
2.0 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class MonsterSimpleInfo : MonoBehaviourSingletonTemplate<MonsterSimpleInfo>
|
|
{
|
|
public GameObject go_child;
|
|
public GameObject go_boss;
|
|
public Image[] sprites; // 0 몹 얼굴, 1 잠금
|
|
public TextMeshProUGUI[] labels; // 0 레벨
|
|
public Slider slider_hp;
|
|
|
|
bool isActor;
|
|
Actor m_Actor;
|
|
|
|
private void Start() { Off(); }
|
|
public void Off() { go_child.SetActive(false); m_Actor = null; isActor = false; }
|
|
|
|
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());
|
|
}
|
|
|
|
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);
|
|
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);
|
|
MyValue.m_RealCamera.Set_LockTarget(m_Actor.transform);
|
|
}
|
|
else
|
|
Set_DelLockTarget(false);
|
|
}
|
|
}
|
|
|
|
public void OnClick_Close()
|
|
{
|
|
if (isActor) Set_DelLockTarget(false);
|
|
Off();
|
|
}
|
|
} |