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 _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)) { 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); var itemData = table_itemlist.Ins.Get_Data(seedid); sdata.Add_MissionCount(ePurpose.PLANTING_CROPS_GRADE_ALL); sdata.Add_MissionCount(ePurpose.PLANTING_CROPS_GRADE_ACC, itemData.n_ItemGrade); FarmSlotUI.Ins.Set(); ToastUI.Ins.Set(165); } FarmSlotUI.Ins.m_FarmSelectEnchantUI.Set_UI(); } }