84 lines
3.0 KiB
C#
84 lines
3.0 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class EquipItemEnchantOptionCard : CardBase
|
|
{
|
|
public Image[] images; // 0 bg, 1 grade
|
|
public TextMeshProUGUI[] texts; // 0 등급, 1 옵션, 2 오픈 조건
|
|
public GameObject[] gos_lock; // 0 언락, 1 락
|
|
|
|
EnchantCardData m_EnchantCardData;
|
|
|
|
public override void Set<T>(T _base)
|
|
{
|
|
base.Set(_base);
|
|
m_EnchantCardData = _base as EnchantCardData;
|
|
Set_UI();
|
|
Do_SomeThing();
|
|
}
|
|
|
|
public override void Set_UI()
|
|
{
|
|
if (IsOpen())
|
|
{
|
|
DSUtil.InActivateGameObjects(gos_lock, 0);
|
|
if (m_EnchantCardData.EnchantData.Lv > 0)
|
|
{ // 옵션이 존재
|
|
var egcData = table_enchantgradeconfig.Ins.Get_Data_bylv(m_EnchantCardData.EnchantData.Lv);
|
|
texts[0].text = egcData.n_EnchantGrade.ToString();
|
|
var upgradeData = table_optionconfig.Ins.Get_Data(m_EnchantCardData.EnchantData.ID);
|
|
texts[1].text = MyText.Get_StatNameValueText(upgradeData.e_OptionType, m_EnchantCardData.EnchantData.Get_Value());
|
|
images[1].enabled = true;
|
|
images[1].color = egcData.GradeColor;
|
|
|
|
//Debug.Log(m_EnchantCardData.EnchantData.ID + " " + m_EnchantCardData.EnchantData.Lv);
|
|
}
|
|
else
|
|
{ // 오픈되었으나 비어있음
|
|
texts[0].text = "0";
|
|
texts[1].text = table_localtext.Ins.Get_Text(203);
|
|
images[1].enabled = false;
|
|
}
|
|
}
|
|
else
|
|
DSUtil.InActivateGameObjects(gos_lock, 1);
|
|
}
|
|
|
|
public override void Set_Selected(bool active)
|
|
{
|
|
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(active ? "slot 2" : "slot 1_weapon");
|
|
}
|
|
|
|
public override void Do_SomeThing()
|
|
{
|
|
Set_Selected(false);
|
|
}
|
|
|
|
public void OnClick_Enchant()
|
|
{
|
|
PopupMgr.Ins.m_EquipmentItemPopup.m_EquipItemEnchantOption.DeSelectAll();
|
|
Set_Selected(true);
|
|
|
|
PopupMgr.Ins.m_EquipmentItemPopup.Set_Position(false); // 팝업을 왼쪽으로 보낸다.
|
|
NewGameUI.Ins.m_EquipmentUI.m_Tab.OnClick_Tab_byScript(0); // 인챈트 리스트 표시
|
|
EquipmentEnchantCard.Select_EnchantCardData = m_EnchantCardData;
|
|
}
|
|
|
|
bool IsOpen()
|
|
{
|
|
switch (m_EnchantCardData.Index)
|
|
{
|
|
case 0:
|
|
texts[2].text = DSUtil.Format(202, table_GlobalValue.Ins.Get_Int("EnchantOpenLv1"));
|
|
return m_EnchantCardData.SlotLv >= table_GlobalValue.Ins.Get_Int("EnchantOpenLv1");
|
|
case 1:
|
|
texts[2].text = DSUtil.Format(202, table_GlobalValue.Ins.Get_Int("EnchantOpenLv2"));
|
|
return m_EnchantCardData.SlotLv >= table_GlobalValue.Ins.Get_Int("EnchantOpenLv2");
|
|
case 2:
|
|
texts[2].text = DSUtil.Format(202, table_GlobalValue.Ins.Get_Int("EnchantOpenLv3"));
|
|
return m_EnchantCardData.SlotLv >= table_GlobalValue.Ins.Get_Int("EnchantOpenLv3");
|
|
}
|
|
return false;
|
|
}
|
|
} |