using System; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class SkillCard : CardCoolTimeBase, IDropHandler { public static Dictionary> dic_button = new Dictionary>(); public Image[] images; // 0 1 아이콘, 2 버튼, 3 상태bg public TextMeshProUGUI[] texts; // 0 상태 public GameObject[] gos_type; // 0 전투, 1 ui public GameObject[] gos; // 0 상태, 1 잠김 SkillDragItem m_skillDragItem; SkillListTableData m_Data; int m_Slot, m_PetId, m_Petlv; public override void Set(T _base) { base.Set(_base); m_Data = _base as SkillListTableData; CoolTime_Off(); if (!DSUtil.CheckNull(m_Data)) { var sdata = ServerInfo.Ins.m_ServerData; images[0].sprite = images[1].sprite = m_Data.Get_Icon(); var lv = sdata.Get_SkillLv(eRole.PC, m_Data.n_SkillID); gos[0].SetActive(lv > 0); gos[1].SetActive(lv == 0); if (sdata.IsEquipSkill(m_Data.n_SkillID, sdata.Equip.Preset)) { texts[0].text = table_localtext.Ins.Get_Text(207); images[3].sprite = UIAtlasMgr.Ins.Get_Sprite("label 5"); } else { texts[0].text = table_localtext.Ins.Get_Text(402); images[3].sprite = UIAtlasMgr.Ins.Get_Sprite("label 3"); } } else { gos[0].SetActive(false); gos[1].SetActive(true); images[0].sprite = UIAtlasMgr.Ins.Get_Sprite("skillempty"); } } public override void Set(int _val) { m_Slot = _val; } public void Set_PetSkill(int skillid, int petid, int lv) { CoolTime_Off(); m_PetId = petid; m_Petlv = lv; m_Data = table_skilllist.Ins.Get_Data_orNull(skillid); DSUtil.InActivateGameObjects(gos); images[0].sprite = m_Data.Get_Icon(); } public override void Set_CardType(eUICardType _type) { base.Set_CardType(_type); var et = images[2].GetComponent(); switch (CardType) { case eUICardType.UI: DSUtil.InActivateGameObjects(gos_type, 1); et.enabled = false; images[1].raycastTarget = true; images[2].GetComponent