99 lines
3.9 KiB
C#
99 lines
3.9 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class FarmSelectEnchantCard : CardBase
|
|
{
|
|
public Image[] images; // 0 인챈트, 1 bg
|
|
public TextMeshProUGUI[] texts; // 0 이름, 1 예상 수확물, 2 인챈트 수량
|
|
public GameObject[] gos; // 0 심기 버튼
|
|
public MoneyForm[] moneyForms;
|
|
|
|
EnchantListTableData m_Data;
|
|
|
|
public override void Set<T>(T _base)
|
|
{
|
|
base.Set(_base);
|
|
m_Data = _base as EnchantListTableData;
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
var amount = sdata.Get_EnchantAmount(m_Data.n_EnchantID);
|
|
|
|
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(m_Data.n_EnchantID);
|
|
texts[0].text = m_Data.Get_Name();
|
|
var item455 = table_itemlist.Ins.Get_ItemName(455);
|
|
var seed = table_itemlist.Ins.Get_ItemName(table_GlobalValue.Ins.Get_Int("n_FarmSeedID"));
|
|
texts[1].text = DSUtil.Format("{0}, {1}\n{2}", item455, m_Data.Get_FruitName(), seed);
|
|
texts[2].text = DSUtil.Format("{0}", amount);
|
|
|
|
Set_Selected(false);
|
|
gos[0].SetActive(false);
|
|
}
|
|
|
|
public override void Set_Selected(bool active)
|
|
{
|
|
images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(active ? "slot 2" : "slot 1");
|
|
}
|
|
|
|
public override void Do_SomeThing()
|
|
{
|
|
gos[0].SetActive(true);
|
|
var seedid = table_GlobalValue.Ins.Get_Int("n_FarmSeedID");
|
|
var needamount = table_GlobalValue.Ins.Get_Int("n_FarmPlantingSeedAmount");
|
|
moneyForms[0].icon.sprite = UIAtlasMgr.Ins.Get_Sprite(seedid);
|
|
moneyForms[0].amount.text = needamount.ToString();
|
|
moneyForms[1].icon.sprite = images[0].sprite;
|
|
moneyForms[1].amount.text = "1";
|
|
}
|
|
|
|
public void OnClick_Select()
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
var seedid = table_GlobalValue.Ins.Get_Int("n_FarmSeedID");
|
|
var needamount = table_GlobalValue.Ins.Get_Int("n_FarmPlantingSeedAmount");
|
|
if (sdata.Check_ItemAmount(seedid, needamount) && sdata.Check_ItemAmount(m_Data.n_EnchantID, 1))
|
|
{
|
|
var slotdata = FarmSelectEnchantUI.Ins.Get_SlotData();
|
|
ServerInfo.Ins.Save_Farm_PlantSeed(slotdata.Slot, m_Data.n_EnchantID, result =>
|
|
{
|
|
sdata.Use_Item(seedid, needamount);
|
|
sdata.Use_Item(m_Data.n_EnchantID, 1);
|
|
|
|
sdata.Set_FarmSlot(slotdata.Slot, result.grade, result.harvestTime, m_Data.n_EnchantID);
|
|
|
|
sdata.Add_MissionCount(ePurpose.PLANTING_CROPS_GRADE_ALL);
|
|
sdata.Add_MissionCount(ePurpose.PLANTING_CROPS_GRADE_ACC, result.grade);
|
|
|
|
FarmSlotUI.Ins.Set();
|
|
ToastUI.Ins.Set(165);
|
|
FarmSlotUI.Ins.m_FarmSelectEnchantUI.Set_UI();
|
|
});
|
|
}
|
|
|
|
return;
|
|
// 클라 기반
|
|
//var sdata = ServerInfo.Ins.m_ServerData;
|
|
//var seedid = table_GlobalValue.Ins.Get_Int("n_FarmSeedID");
|
|
//var needamount = table_GlobalValue.Ins.Get_Int("n_FarmPlantingSeedAmount");
|
|
//if (sdata.Check_ItemAmount(seedid, needamount) && sdata.Check_ItemAmount(m_Data.n_EnchantID, 1))
|
|
//{
|
|
// sdata.Use_Item(seedid, needamount);
|
|
// sdata.Use_Item(m_Data.n_EnchantID, 1);
|
|
|
|
// // 농장 슬롯에 등급과 시간 추가
|
|
// var slotdata = FarmSelectEnchantUI.Ins.Get_SlotData();
|
|
// var Tdata = table_harvestconfig.Ins.Get_RandomData();
|
|
// var ainfo = MyValue.Get_ActorStatInfoorNull(eRole.PC, false);
|
|
// var harvestTime = Tdata.n_HarvestTime - Tdata.n_HarvestTime * ainfo.Get_Stat(eStat.ReduceHarvestTime);
|
|
|
|
// sdata.Set_FarmSlot(slotdata.Slot, Tdata.n_Grade, harvestTime, m_Data.n_EnchantID);
|
|
|
|
// sdata.Add_MissionCount(ePurpose.PLANTING_CROPS_GRADE_ALL);
|
|
// sdata.Add_MissionCount(ePurpose.PLANTING_CROPS_GRADE_ACC, Tdata.n_Grade);
|
|
|
|
// FarmSlotUI.Ins.Set();
|
|
// ToastUI.Ins.Set(165);
|
|
//}
|
|
|
|
//FarmSlotUI.Ins.m_FarmSelectEnchantUI.Set_UI();
|
|
}
|
|
} |