84 lines
3.0 KiB
C#
84 lines
3.0 KiB
C#
using CodeStage.AntiCheat.ObscuredTypes;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class CollectionEssenceUI_Right : uScrollViewMgr
|
|
{
|
|
public static CollectionEssenceUI_Right Ins;
|
|
private void Start() { Ins = this; }
|
|
|
|
public Image[] images; // 0 등급, 1 정수
|
|
public TextMeshProUGUI[] texts; // 0 정수명, 1 확률 리스트
|
|
public GameObject go_noti;
|
|
|
|
EssenceCard m_SelectCard;
|
|
ObscuredInt m_UseAmount = 1;
|
|
|
|
public override void Set()
|
|
{
|
|
Set_ScrollView(table_essence.Ins.Get_DataList());
|
|
SelectCard(null);
|
|
}
|
|
|
|
public override void Set_UI()
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
var Tdata = Get_SelectTData();
|
|
//images[0].sprite = UIAtlasMgr.Ins.Get_GradeSprite(table_itemlist.Ins.Get_Data(Tdata.n_EssenceID).n_ItemGrade);
|
|
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(Tdata.n_EssenceID);
|
|
|
|
texts[0].text = Tdata.Get_Name();
|
|
texts[1].text = Tdata.Get_RateText();
|
|
|
|
var amount = (int)sdata.Get_ItemAmount(Tdata.n_EssenceID);
|
|
m_UseAmount = Mathf.Max(1, amount >= 10 ? 10 : amount);
|
|
m_UseAmount.RandomizeCryptoKey();
|
|
|
|
go_noti.SetActive(amount > 0);
|
|
}
|
|
|
|
public void SelectCard(EssenceCard card)
|
|
{
|
|
if (!DSUtil.CheckNull(m_SelectCard))
|
|
m_SelectCard.gos[0].SetActive(false);
|
|
|
|
if (DSUtil.CheckNull(card))
|
|
m_SelectCard = list_CardBase[0] as EssenceCard;
|
|
else
|
|
m_SelectCard = card;
|
|
|
|
m_SelectCard.gos[0].SetActive(true);
|
|
|
|
Set_UI();
|
|
}
|
|
EssenceTableData Get_SelectTData() { return m_SelectCard.Get_Data() as EssenceTableData; }
|
|
|
|
public void OnClick_EssenceChange()
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
var Tdata = Get_SelectTData();
|
|
if (sdata.Check_ItemAmount(Tdata.n_EssenceID, m_UseAmount))
|
|
{
|
|
sdata.Add_MissionCount(ePurpose.ESSENCE_EXCHANGE, 0, m_UseAmount);
|
|
sdata.Add_MissionCount(ePurpose.ESSENCE_EXCHANGE_ACC, 0, m_UseAmount);
|
|
sdata.Use_Item(Tdata.n_EssenceID, m_UseAmount);
|
|
List<ItemSimpleData> list_reward = new List<ItemSimpleData>();
|
|
var randombagid = table_GlobalValue.Ins.Get_Int("n_EssenceRandomBagID");
|
|
var mileageid = table_GlobalValue.Ins.Get_Int("n_EssenceMileageID");
|
|
for (int i = 0; i < m_UseAmount; i++)
|
|
{
|
|
var grade = DSUtil.Get_RandomIndex(Tdata.list_rate) + 1;
|
|
var item = table_randombag.Ins.Get_RandomItemData(randombagid, grade);
|
|
list_reward.Add(new ItemSimpleData { itemid = item.itemid, amount = item.amount });
|
|
sdata.Add_Item(item.itemid, item.amount);
|
|
sdata.Add_Item(mileageid, table_itemlist.Ins.Get_Data(Tdata.n_EssenceID).n_ItemValue); // 마일리지 축적
|
|
}
|
|
ObtainItemUI.Ins.Set(list_reward);
|
|
m_SelectCard.Set_UI();
|
|
Set_UI();
|
|
CollectionEssenceUI_Left.Ins.Set();
|
|
}
|
|
}
|
|
} |