using BrewMonster.Network; using BrewMonster.Scripts.Pet; using BrewMonster.UI; using CSNetwork.GPDataType; using ModelRenderer.Scripts.GameData; using System; using System.IO; using TMPro; using UnityEngine; using UnityEngine.UI; namespace BrewMonster { public class DlgPetListBox : AUIDialog { [SerializeField] private Image m_iconPet; [SerializeField] private TMP_Text m_textPetName; [SerializeField] private TMP_Text m_textLevel; [SerializeField] private Sprite m_spriteDefault_Icon; private int m_slotIndex; private bool m_isActivePet; private int m_operatingState; private Action m_onClickCallback; private CECPetData m_petData; public void SetData(CECPetData pPet, int actualSlot, bool isActivePet, int operatingState, Action onClickSlot) { if (pPet == null) { Show(false); return; } Show(true); m_slotIndex = actualSlot; m_isActivePet = isActivePet; m_operatingState = operatingState; m_onClickCallback = onClickSlot; m_textPetName.text = pPet.GetName(); m_textLevel.text = $"Cấp {pPet.GetLevel()}"; m_textPetName.color = isActivePet ? Color.gray : Color.white; bool isDead = (pPet.GetClass() == (int)GP_PET_TYPE.GP_PET_CLASS_COMBAT || pPet.GetClass() == (int)GP_PET_TYPE.GP_PET_CLASS_EVOLUTION) && pPet.GetHPFactor() == 0.0f; m_iconPet.color = isDead ? new Color(0.5f, 0.5f, 0.5f) : Color.white; UpdateIcon(pPet.GetTemplateID()); Button btn = GetComponent