Project_WL/Assets/Script/UI/PC/Ability/PCAbilityCard.cs

62 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
public class PCAbilityCard : CardBase
{
public Image[] images; // 0 아이콘
public TextMeshProUGUI[] texts; // 0 레벨
public GameObject[] gos_arrow; // 0 오른쪽 한칸, 1 오른쪽 두칸, 2 밑으로 한칸, 3 위로 한칸
AbilityConfigTableData m_Data;
public override void Set<T>(T _base)
{
base.Set(_base);
m_Data = _base as AbilityConfigTableData;
Set_UI();
var nextability = table_abilityconfig.Ins.Get_Data_orNull(m_Data.n_NextAbility);
if (!DSUtil.CheckNull(nextability))
{
if (nextability.n_AbilityStep > m_Data.n_AbilityStep) // 아래로
gos_arrow[2].SetActive(true);
else if (nextability.n_AbilityStep < m_Data.n_AbilityStep) // 위로
gos_arrow[3].SetActive(true);
if (nextability.n_AbilityOrder - m_Data.n_AbilityOrder >= 2)
gos_arrow[1].SetActive(true);
else if (nextability.n_AbilityOrder - m_Data.n_AbilityOrder == 1)
gos_arrow[0].SetActive(true);
}
}
public override void Set_UI()
{
if (DSUtil.CheckNull(m_Data)) return;
var sdata = ServerInfo.Ins.m_ServerData;
images[0].enabled = true;
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(m_Data.n_AbilityID);
texts[0].text = $"Lv.{sdata.Get_AbilityLv(m_Data.n_AbilityID)}";
}
public override void Set_CardType(eUICardType _type)
{
base.Set_CardType(_type);
for (int i = 0; i < images.Length; i++)
images[i].enabled = false;
for (int i = 0; i < texts.Length; i++)
texts[i].text = "";
DSUtil.InActivateGameObjects(gos_arrow);
}
public void OnClick_Ability()
{
if (CardType == eUICardType.UI)
PCAbilityUI.Ins.m_PCAbilityLvUpUI.Set(m_Data);
}
}