using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class PCLimitSlotCard : CardBase { public TextMeshProUGUI[] texts; // 0 스탯, 1 등급, 2 잠금 설명 public Image[] images; // 0 등급, 1 잠금 SD_PCLimitSlotData m_SData; int m_Grade, m_Slot; public override void Set(T _base) { base.Set(_base); m_SData = _base as SD_PCLimitSlotData; } public override void Set(int _val) { m_Slot = _val; var lv = ServerInfo.Ins.m_ServerData.Get_LimitLv(); var openlv = table_breakinglimit.Ins.Get_SlotOpenLv(m_Slot); texts[2].text = openlv > lv ? DSUtil.Format(262, openlv) : ""; Set_UI(); } public override void Set_UI() { var Tdata = table_optionconfig.Ins.Get_Data(m_SData.ID); m_Grade = 0; texts[0].text = texts[1].text = ""; images[0].color = table_enchantgradeconfig.Ins.Get_Data(1).GradeColor; images[1].enabled = m_SData.Lock > 0; if (DSUtil.CheckNull(Tdata)) { // 오픈된 슬롯인가? } else { texts[2].text = ""; m_Grade = table_randombag.Ins.Get_Data(m_SData.ID).n_ItemGrade; var gradecolor = table_enchantgradeconfig.Ins.Get_Data(m_Grade).GradeColor; images[0].color = gradecolor; texts[0].text = MyText.Get_StatNameValueText(Tdata.e_OptionType, Tdata.Get_Value(m_SData.Lv)); texts[1].text = "??"; } } public void Set_Change(string preset) { var sdata = ServerInfo.Ins.m_ServerData; var isOpen = table_breakinglimit.Ins.Get_SlotOpenLv(m_Slot) <= sdata.Get_LimitLv(); if (isOpen && m_SData.Lock == 0) { var lv = sdata.Get_LimitLv(); var Tdata = table_limitslotmagicrate.Ins.Get_Data_orNull(lv); var grade = DSUtil.Get_RandomIndex(Tdata.list_rate) + 1; var itemData = table_randombag.Ins.Get_RandomItemData(Tdata.n_DropIndex, grade); var optionlv = table_enchantgradeconfig.Ins.Get_Lv(grade); sdata.Set_LimitSlotID(preset, m_Slot, itemData.itemid, optionlv); } } public override int Get_IntData() { return m_Grade; } public void OnClick_Lock() { if (m_SData.ID > 0) { var sdata = ServerInfo.Ins.m_ServerData; sdata.Set_LimitSlotLock(PCLimitUI.Ins.m_PCLimitUI_Right.Get_Preset(), m_Slot); PCLimitUI.Ins.m_PCLimitUI_Right.Set(); } } }