67 lines
2.2 KiB
C#
67 lines
2.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class MainStatLvUpCard : CardBase
|
|
{
|
|
public Image[] sprites; // 0 메인스탯
|
|
public TextMeshProUGUI[] labels; // 0 레벨, 1 +스탯, 2 가격
|
|
public GameObject[] gos; // 0 주스탯 여부
|
|
|
|
MainStatCardData m_Data;
|
|
|
|
private void Awake() { Act_Repeat_for1sec = Set_Price; }
|
|
|
|
public override void Set<T>(T _base)
|
|
{
|
|
base.Set(_base);
|
|
m_Data = _base as MainStatCardData;
|
|
sprites[0].sprite = UIAtlasMgr.Ins.Get_Sprite(DSUtil.Format("stat_{0}", m_Data.mainStatType.ToString().ToLower()));
|
|
var classData = table_classconfig.Ins.Get_Data_orNull(ServerInfo.Ins.m_ServerData.Get_EqiupmentEquip(eItem.PC));
|
|
gos[0].SetActive(classData.Get_MainStat() == m_Data.mainStatType);
|
|
Set_UI();
|
|
Set_Price();
|
|
}
|
|
|
|
public override void Set_UI()
|
|
{
|
|
var curmap = MyValue.MyChoiceMapData;
|
|
var lv = ServerInfo.Ins.m_ServerData.MapData_Get_StatLv(curmap.n_MapID, curmap.n_Difficult, m_Data.mainStatType);
|
|
labels[0].text = $"Lv.{lv}";
|
|
labels[1].text = $"+{lv}"; // TODO 정인호 : 레벨당 스탯1 임시
|
|
}
|
|
|
|
void Set_Price()
|
|
{
|
|
var price = Get_Price();
|
|
labels[2].text = NumberFormatter.FormatNumber(price);
|
|
if (ServerInfo.Ins.m_ServerData.Check_ItemAmount(eItem.Gold, price, 0, false))
|
|
labels[2].color = Color.black;
|
|
else
|
|
labels[2].color = Color.red;
|
|
}
|
|
|
|
int Get_Price()
|
|
{
|
|
var curMap = MyValue.MyChoiceMapData;
|
|
var lv = ServerInfo.Ins.m_ServerData.MapData_Get_StatLv(curMap.n_MapID, curMap.n_Difficult, m_Data.mainStatType);
|
|
return (lv + 1) * 100;
|
|
}
|
|
|
|
public void OnClick_LvUp()
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
if (sdata.Check_ItemAmount(eItem.Gold, Get_Price()))
|
|
{
|
|
sdata.Use_Item(eItem.Gold, Get_Price());
|
|
var curMap = MyValue.MyChoiceMapData;
|
|
sdata.MapData_Add_StatLv(curMap.n_MapID, curMap.n_Difficult, m_Data.mainStatType);
|
|
Set_UI();
|
|
Set_Price();
|
|
|
|
if (MyInfoUI.Ins != null) MyInfoUI.Ins.Set_MainStats();
|
|
}
|
|
}
|
|
} |