94 lines
3.0 KiB
C#
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);
|
|
}
|
|
} |