using UnityEngine; using UnityEngine.UI; public class IngamePetCard : CardCoolTimeBase { public static IngamePetCard Ins; public static bool isIns; public Image[] sprites; // 0 등급, 1 아이콘, 2 공격타입bg, 3 공격타입, 4 쿨타임, 5 쉴드시간 public Slider slider_hp; public IngameBuffDebuffBase m_IngameBuffDebuffBase; PetListTableData m_PetTableData; //ServerData_Pet m_ServerData_Pet; bool isOnlyShow, ShowShieldTime; private void Awake() { Ins = this; isIns = true; } public void Set_Empty() { m_PetTableData = null; sprites[0].sprite = UIAtlasMgr.Ins.Get_Sprite("empty_slot_pet"); sprites[1].enabled = sprites[3].enabled = sprites[5].enabled = false; slider_hp.gameObject.SetActive(false); CoolTime_Off(); } public override void Set(T _base) { Set_Empty(); base.Set(_base); m_PetTableData = _base as PetListTableData; //if (m_PetTableData != null) m_ServerData_Pet = ServerInfo.Ins.m_ServerData.Get_PetData(m_PetTableData.ID); sprites[1].enabled = true; sprites[1].color = Color.white; //var chapter = InGameInfo.Ins.Get_CurStageData().Chapter; if (!DSUtil.CheckNull(m_PetTableData)) { Set_CoolTime(0f, 100f, 0); slider_hp.gameObject.SetActive(true); Set_HPGage(1f); Set_Icon(false); } } public void Set_DPS(PetListTableData _ptd) { if (_ptd == null) gameObject.SetActive(false); else { gameObject.SetActive(true); Set_OnlyShow(); m_PetTableData = _ptd; sprite_cooltime.gameObject.SetActive(false); label_cooltime.text = ""; slider_hp.gameObject.SetActive(false); Set_Icon(false); sprites[5].enabled = false; } } public void Set_OnlyShow() { isOnlyShow = true; } public void Set_ShieldUI(bool _active) { ShowShieldTime = _active; sprites[5].enabled = _active; sprite_cooltime.gameObject.SetActive(!_active); label_cooltime.text = ""; } public void Set_ShieldCoolTime(float _time, float _maxtime) { sprites[5].fillAmount = _time / _maxtime; label_cooltime.text = ""; } public void Set_HPGage(float _v) { slider_hp.value = _v; if (_v <= 0f) sprites[1].color = Color.gray; } public void Set_Icon(bool _isberserk) { sprites[0].sprite = UIAtlasMgr.Ins.Get_GradeSprite(m_PetTableData.n_PetGrade); sprites[1].enabled = sprites[2].enabled = true; sprites[1].sprite = UIAtlasMgr.Ins.Get_Sprite(m_PetTableData.Get_Icon()); sprites[2].color = MyValue.Get_SliderGradeColor((eItemGrade)m_PetTableData.n_PetGrade); //sprites[3].sprite = UIAtlasMgr.Ins.Get_Sprite(m_PetTableData.AttackTypeIcon); } void Update() { if (m_CoolTime > 0f) { m_CoolTime -= Time.deltaTime; if (!ShowShieldTime) Set_CoolTime(m_CoolTime, 100f, 0); } } public void OnClick_Card() { if (!isOnlyShow && m_PetTableData != null && m_CoolTime <= 0f) { if (InGameInfo.Ins.Set_Skill_ToPet(eEffect.Skill_Shield, false, false, 30f, (int)m_PetTableData.n_PetGrade * 0.05f, m_PetTableData.ID, !sprites[5].enabled)) Set_CoolTime(100f, 100f, 0); else MessageInfo.Ins.Add_Log(171); } } }