using TMPro; using UnityEngine.UI; /// /// 초월 정보 (전 레벨 -> 다음 레벨) /// public class PCLimit_Center : PCLimit_StatInfo { public TextMeshProUGUI[] texts; // 0 레벨(전), 1 레벨(후), 2 보유 스탯 총합, 3 캐릭터 레벨 달성 public Slider[] sliders; // 0 보유 스탯 총합, 1 캐릭터 레벨 달성 BreakingLimitTableData m_CurData, m_NextData; private void Awake() { ServerInfo.Ins.m_ServerData.PC.Add_Exp(3000); } public void Set() { var sdata = ServerInfo.Ins.m_ServerData; var lv = sdata.Get_LimitLv(); m_CurData = table_breakinglimit.Ins.Get_Data_orNull(lv); m_NextData = table_breakinglimit.Ins.Get_Data_orNull(lv + 1); texts[0].text = $"Lv.{lv}"; texts[1].text = $"Lv.{lv + 1}"; if (DSUtil.CheckNull(m_NextData)) { texts[2].text = table_localtext.Ins.Get_Text(261); sliders[0].value = 1f; sliders[1].value = 1f; } else { Set(m_NextData); var total = Get_Total_AwakenLv(sdata); texts[2].text = $"{total} / {Get_NeedAwakenLv()}"; sliders[0].value = DSUtil.Get_SliderValue((float)total / Get_NeedAwakenLv()); texts[3].text = $"{sdata.PC.Lv} / {Get_NeedPCLv()}"; sliders[1].value = DSUtil.Get_SliderValue((float)sdata.PC.Lv / Get_NeedPCLv()); } } int Get_NeedAwakenLv() { return m_CurData.n_RequireTotalStat; } int Get_NeedPCLv() { return m_CurData.n_RequireLevel; } int Get_Total_AwakenLv(ServerData sdata) { return sdata.Get_AwakenLv(eStat.STR) + sdata.Get_AwakenLv(eStat.DEX) + sdata.Get_AwakenLv(eStat.INT) + sdata.Get_AwakenLv(eStat.LUK); } public void OnClick_LimitLvUp() { var sdata = ServerInfo.Ins.m_ServerData; var total = Get_Total_AwakenLv(sdata); if (total >= Get_NeedAwakenLv()) { if (sdata.PC.Lv >= Get_NeedPCLv()) { sdata.Add_LimitLv(); PCLimitUI.Ins.Set(); MyValue.Get_ActorStatInfoorNull(eRole.PC); var moneyid = table_GlobalValue.Ins.Get_Int("n_AbilityMaterialID"); sdata.Add_Item(moneyid, m_NextData.n_MaxAbilityPoint - m_CurData.n_MaxAbilityPoint); } else ToastUI.Ins.Set(264); } else ToastUI.Ins.Set(263); } }