Project_WL/Assets/Script/UI/Collection/Essence/CollectionEssenceUI_Right.cs

83 lines
2.9 KiB
C#
Raw Normal View History

2024-12-15 01:39:39 +00:00
using CodeStage.AntiCheat.ObscuredTypes;
using System.Collections;
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[1].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.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();
}
}
}