2025-08-07 13:08:29 +00:00
|
|
|
using System.Collections.Generic;
|
2024-12-15 01:39:39 +00:00
|
|
|
using TMPro;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
|
|
|
|
public class PetUI_Right : uScrollViewMgr
|
|
|
|
|
{
|
|
|
|
|
public PetUI_Left m_PetUI_Left;
|
|
|
|
|
public Image[] images; // 0 강화재료1, 1 강화재료2
|
2025-07-14 01:41:08 +00:00
|
|
|
public TextMeshProUGUI[] texts; // 0 강화재료1, 1 강화재료2, 2 레벨업 효과, 3 레벨업 효과 값
|
2024-12-15 01:39:39 +00:00
|
|
|
public GameObject go_noti;
|
|
|
|
|
|
|
|
|
|
PetCard m_SelectPet;
|
|
|
|
|
|
|
|
|
|
public override void Set()
|
|
|
|
|
{
|
2025-05-14 23:33:37 +00:00
|
|
|
Set_Scroll();
|
2024-12-15 01:39:39 +00:00
|
|
|
SelectPet(null);
|
|
|
|
|
Set_UI();
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-14 23:33:37 +00:00
|
|
|
public void Set_Scroll() { Set_ScrollView(table_petlist.Ins.Get_DataList()); }
|
|
|
|
|
|
2024-12-15 01:39:39 +00:00
|
|
|
public override void Set_UI()
|
|
|
|
|
{
|
|
|
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
|
|
|
var petData = Get_SelectPetData();
|
|
|
|
|
var lv = sdata.Get_PetLv(petData.n_PetID);
|
|
|
|
|
var Tdata = table_petupgrade.Ins.Get_Data_orNull(lv);
|
|
|
|
|
var matID = table_GlobalValue.Ins.Get_Int("n_PetReinforceMaterialID");
|
|
|
|
|
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(petData.n_PetID);
|
|
|
|
|
images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(matID);
|
|
|
|
|
if (DSUtil.CheckNull(Tdata))
|
|
|
|
|
{
|
|
|
|
|
texts[0].text = "0";
|
|
|
|
|
texts[1].text = "0";
|
|
|
|
|
go_noti.SetActive(false);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
texts[0].text = $"{sdata.Get_ItemAmount(petData.n_PetID)}/{Tdata.Get_PetCost(petData.n_PetGrade)}";
|
|
|
|
|
texts[1].text = $"{NumberFormatter.FormatNumber(sdata.Get_ItemAmount(matID))}/{NumberFormatter.FormatNumber(Tdata.Get_Price(petData.n_PetGrade, lv))}";
|
|
|
|
|
go_noti.SetActive(CanReinforce(false));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SelectPet(PetCard pet)
|
|
|
|
|
{
|
|
|
|
|
if (!DSUtil.CheckNull(m_SelectPet))
|
2025-07-14 01:41:08 +00:00
|
|
|
m_SelectPet.Set_Selected(false);
|
2024-12-15 01:39:39 +00:00
|
|
|
|
|
|
|
|
if (DSUtil.CheckNull(pet))
|
|
|
|
|
{
|
|
|
|
|
var equipid = ServerInfo.Ins.m_ServerData.Get_EqiupmentEquip(eItem.Pet);
|
|
|
|
|
for (int i = 0; i < list_CardBase.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
var id = (list_CardBase[i].Get_Data() as PetListTableData).n_PetID;
|
|
|
|
|
if (equipid == id)
|
|
|
|
|
{
|
|
|
|
|
m_SelectPet = list_CardBase[i] as PetCard;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
m_SelectPet = pet;
|
|
|
|
|
|
2025-07-14 01:41:08 +00:00
|
|
|
m_SelectPet.Set_Selected(true);
|
2024-12-15 01:39:39 +00:00
|
|
|
|
|
|
|
|
// 왼쪽 정보 설정
|
|
|
|
|
m_PetUI_Left.Set(Get_SelectPetData());
|
|
|
|
|
// 오른쪽 정보 설정
|
|
|
|
|
Set_UI();
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-23 06:26:02 +00:00
|
|
|
bool CanEquip()
|
|
|
|
|
{
|
|
|
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
|
|
|
var petid = Get_SelectPetData().n_PetID;
|
|
|
|
|
var petlv = sdata.Get_PetLv(petid);
|
|
|
|
|
return petlv > 0 && !sdata.IsEquip(eItem.Pet, petid);
|
|
|
|
|
}
|
2024-12-15 01:39:39 +00:00
|
|
|
bool CanReinforce(bool showtoast)
|
|
|
|
|
{
|
|
|
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
|
|
|
var petData = Get_SelectPetData();
|
|
|
|
|
var lv = sdata.Get_PetLv(petData.n_PetID);
|
|
|
|
|
var Tdata = table_petupgrade.Ins.Get_Data_orNull(lv);
|
|
|
|
|
var matID = table_GlobalValue.Ins.Get_Int("n_PetReinforceMaterialID");
|
|
|
|
|
|
|
|
|
|
return sdata.Check_ItemAmount(petData.n_PetID, Tdata.Get_PetCost(petData.n_PetGrade), showtoast) &&
|
|
|
|
|
sdata.Check_ItemAmount(matID, Tdata.Get_Price(petData.n_PetGrade, lv), showtoast);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnClick_Equip()
|
|
|
|
|
{
|
|
|
|
|
if (CanEquip())
|
|
|
|
|
{
|
2025-08-07 00:38:40 +00:00
|
|
|
//ServerInfo.Ins.Save_Pet_Equip(Get_SelectPetData().n_PetID, () =>
|
|
|
|
|
//{
|
2025-07-08 06:36:10 +00:00
|
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
|
|
|
sdata.Equip.Set_Equip(eItem.Pet, Get_SelectPetData().n_PetID);
|
|
|
|
|
Set();
|
2025-08-07 00:38:40 +00:00
|
|
|
//sdata.Add_MissionCount(ePurpose.PET_MOUNT_LIMIT);
|
|
|
|
|
//});
|
2024-12-15 01:39:39 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnClick_Reinforce()
|
|
|
|
|
{
|
|
|
|
|
if (CanReinforce(true))
|
|
|
|
|
{
|
2025-08-07 13:08:29 +00:00
|
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
2024-12-15 01:39:39 +00:00
|
|
|
var petData = Get_SelectPetData();
|
2025-08-07 13:08:29 +00:00
|
|
|
var lv = sdata.Get_PetLv(petData.n_PetID);
|
|
|
|
|
var Tdata = table_petupgrade.Ins.Get_Data_orNull(lv);
|
|
|
|
|
var matID = table_GlobalValue.Ins.Get_Int("n_PetReinforceMaterialID");
|
2024-12-15 01:39:39 +00:00
|
|
|
|
2025-08-07 13:08:29 +00:00
|
|
|
sdata.Use_Item(petData.n_PetID, Tdata.Get_PetCost(petData.n_PetGrade));
|
|
|
|
|
sdata.Use_Item(matID, Tdata.Get_Price(petData.n_PetGrade, lv));
|
|
|
|
|
sdata.Add_PetLv(petData.n_PetID);
|
2024-12-15 01:39:39 +00:00
|
|
|
|
2025-08-07 13:08:29 +00:00
|
|
|
NewGameUI.Ins.m_PetUI.m_PetMenuBackData.Add_PetReinforceData(petData.n_PetID);
|
2025-03-20 21:07:17 +00:00
|
|
|
|
2025-08-07 13:08:29 +00:00
|
|
|
//sdata.Add_MissionCount(ePurpose.PET_UPGRADE_ACC);
|
|
|
|
|
//sdata.Add_MissionCount(ePurpose.PET_UPGRADE_ALL);
|
|
|
|
|
|
|
|
|
|
// 모든 ui 갱신
|
|
|
|
|
Set_Scroll();
|
|
|
|
|
SelectPet(m_SelectPet);
|
2024-12-15 01:39:39 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-08-07 13:08:29 +00:00
|
|
|
//public void OnClick_Reinforce()
|
|
|
|
|
//{
|
|
|
|
|
// if (CanReinforce(true))
|
|
|
|
|
// {
|
|
|
|
|
// var petData = Get_SelectPetData();
|
|
|
|
|
// ServerInfo.Ins.Save_Pet_LvUp(petData.n_PetID, result =>
|
|
|
|
|
// {
|
|
|
|
|
// var sdata = ServerInfo.Ins.m_ServerData;
|
|
|
|
|
// var matID = table_GlobalValue.Ins.Get_Int("n_PetReinforceMaterialID");
|
|
|
|
|
|
|
|
|
|
// sdata.Use_Item(petData.n_PetID, result.usepet);
|
|
|
|
|
// sdata.Use_Item(matID, result.usemat);
|
|
|
|
|
// sdata.Add_PetLv(petData.n_PetID);
|
|
|
|
|
|
|
|
|
|
// sdata.Add_MissionCount(ePurpose.PET_UPGRADE_ACC);
|
|
|
|
|
// sdata.Add_MissionCount(ePurpose.PET_UPGRADE_ALL);
|
|
|
|
|
|
|
|
|
|
// // 왼쪽 정보 설정
|
|
|
|
|
// m_PetUI_Left.Set(Get_SelectPetData());
|
|
|
|
|
// // 오른쪽 정보 설정
|
|
|
|
|
// Set_UI();
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
|
2024-12-15 01:39:39 +00:00
|
|
|
public PetListTableData Get_SelectPetData() { return m_SelectPet.Get_Data() as PetListTableData; }
|
|
|
|
|
}
|