Project_WL/Assets/Script/UI/Ingame/BattleUI.cs

98 lines
2.6 KiB
C#

using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class BattleUI : MonoBehaviour
{
public SkillCard[] skillCards;
public Image[] images; // 0 자동, 1 회피
public TextMeshProUGUI[] texts; // 0 회피 쿨타임
public GameObject[] gos; // 0 회피 버튼, 1 착용 버튼
eUICardType m_BattleUIType;
float MaxAvoidCoolTime;
public void Set(eUICardType type, int preset = 0)
{
m_BattleUIType = type;
var sdata = ServerInfo.Ins.m_ServerData;
var skills = sdata.Equip.Skill[preset > 0 ? preset : sdata.Equip.Preset];
for (int i = 0; i < skills.Count; i++)
{
skillCards[i].Set(table_skilllist.Ins.Get_Data_orNull(skills[i]));
skillCards[i].Set(i);
skillCards[i].Set_CardType(m_BattleUIType);
}
MaxAvoidCoolTime = table_GlobalValue.Ins.Get_Float("f_AvoidCoolTime");
Set_Avoid(0f);
Set_Auto();
DSUtil.InActivateGameObjects(gos);
switch (m_BattleUIType)
{
case eUICardType.UI: gos[1].SetActive(true); break;
case eUICardType.Use: gos[0].SetActive(true); break;
case eUICardType.UIEquip:
break;
}
}
public void Set_Avoid(float cooltime)
{
if (cooltime > 0f)
{
texts[0].text = cooltime.ToString("N0");
float v = cooltime / MaxAvoidCoolTime;
images[1].fillAmount = v;
}
else
{
texts[0].text = "";
images[1].fillAmount = 0f;
}
}
private void Update()
{
if (Input.GetKey(KeyCode.A))
OnClick_Attack();
else if (Input.GetKey(KeyCode.Z))
OnClick_Avoid();
}
public void OnClick_Auto()
{
if (!DSUtil.CheckNull(MyValue.MyPC))
{
MyValue.MyPC.Set_Auto();
Set_Auto();
}
}
void Set_Auto()
{
var sdata = ServerInfo.Ins.m_ServerData;
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(sdata.Get_Common(eCommon.Auto) == 1 ? "autotarget_on" : "autotarget_off");
}
public void OnClick_Attack()
{
if (!DSUtil.CheckNull(MyValue.MyPC))
{
MyValue.MyPC.Check_Target();
MyValue.MyPC.Play_Attack(0, (float)MyValue.MyPC.Get_StatInfo().Get_Stat(eStat.FinalAttackSpeed));
}
}
public void OnClick_Avoid()
{
if (!DSUtil.CheckNull(MyValue.MyPC))
MyValue.MyPC.Play_Dodge();
}
public void OnClick_Equip()
{
NewGameUI.Ins.m_SkillUI.m_SkillEquipUI.Set(eUICardType.UIEquip);
}
}