Project_WL/Assets/Script/UI/Pet/PetUI_Left.cs

94 lines
3.0 KiB
C#

using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class PetUI_Left : UI3DModel
{
public PetInfoDetailUI m_PetInfoDetailUI;
public PetPureStatCard[] arr_statcard;
public SkillCard[] skillCards; // 0 액티브 스킬, 1 패시브 스킬
public Image[] images; // 0 등급
public TextMeshProUGUI[] texts; // 0 펫 이름, 1 등급
public zSizeControler zSizeControler;
PetListTableData m_Data;
private void Start()
{
for (int i = 0; i < skillCards.Length; i++)
skillCards[i].Set_CardType(eUICardType.UIPetSkill);
}
public void Set(PetListTableData data)
{
var sdata = ServerInfo.Ins.m_ServerData;
m_Data = data;
Set_PurStat();
Set_3DModel(false, m_Data.s_PetPrefab, tf =>
{
tf.localScale = Vector3.one * m_Data.f_UIScale;
tf.localPosition = Vector3.up * m_Data.f_UIOffSet_y;
zSizeControler.Set(tf);
});
//images[0].sprite = UIAtlasMgr.Ins.Get_GradeSprite(m_Data.n_PetGrade);
texts[0].text = m_Data.Get_Name();
texts[1].text = MyText.Get_GradeName(m_Data.n_PetGrade);
var lv = sdata.Get_PetLv(m_Data.n_PetID);
skillCards[0].Set_PetSkill(m_Data.n_PetActiveSkill, data.n_PetID, lv);
skillCards[1].Set_PetSkill(m_Data.n_PetPassiveSkill, data.n_PetID, lv);
}
void Set_PurStat()
{
var sdata = ServerInfo.Ins.m_ServerData;
var lv = sdata.Get_PetLv(m_Data.n_PetID);
arr_statcard[0].Set(true, eStat.None, lv);
arr_statcard[1].Set(false, eStat.ATK, (int)m_Data.Get_PureStat(eStat.ATK, lv));
arr_statcard[2].Set(false, eStat.HP, (int)m_Data.Get_PureStat(eStat.HP, lv));
var def = m_Data.Get_PureStat(eStat.DEF, lv);
if (def > 0)
arr_statcard[3].Set(false, eStat.DEF, (int)m_Data.Get_PureStat(eStat.DEF, lv));
else
arr_statcard[3].Set(false, eStat.M_DEF, (int)m_Data.Get_PureStat(eStat.M_DEF, lv));
}
public void OnClick_PetDetail()
{
m_PetInfoDetailUI.Set(m_Data);
}
public void OnClick_Gamble(int index)
{
int amount = 1;
switch (index)
{
case 0: // 광고 뽑기
break;
case 1: // 뽑기1
break;
case 2: // 뽑기2
amount = 10;
break;
}
var sdata = ServerInfo.Ins.m_ServerData;
var itemlst = new List<ItemSimpleData>();
var petlst = table_petlist.Ins.Get_DataList();
for (int i = 0; i < amount; i++)
{
var temp = new ItemSimpleData();
temp.itemid = petlst[Random.Range(0, petlst.Count)].n_PetID;
temp.amount = 1;
itemlst.Add(temp);
sdata.Add_Item(temp.itemid, 1);
}
ObtainItemUI.Ins.Set(itemlst);
sdata.Add_MissionCount(ePurpose.GACHA_PET, 0, amount);
sdata.Add_MissionCount(ePurpose.GACHA_PET_ACC, 0, amount);
sdata.Add_MissionCount(ePurpose.GACHA_ALL, 0, amount);
}
}