shaoxiadiablo/Assets/AGame/Scripts/UI/PetWindow/PetWindow.SimpleWidget.cs
2025-05-18 01:04:31 +08:00

126 lines
2.5 KiB
C#

// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2021-03-26
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "PetWindow.SkillWidget" company="Kunpo"></copyright>
// <summary></summary>
// ***********************************************************************
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace G.UI
{
partial class PetWindow
{
public class PetSimpleWidget : KUIWidget
{
#region Field
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
[KUIFlag]
KUIImage _imgFrame;
[KUIFlag]
Image _imgLabel;
[KUIFlag]
Image _imgIcon;
[KUIFlag]
TextMeshProUGUI _tmpGrade;
[KUIFlag]
TextMeshProUGUI _tmpName;
[KUIFlag]
GameObject _goSelect;
[KUIFlag]
GameObject _goLock;
[KUIFlag]
GameObject _imgStatus;
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
#endregion
#region Method
public override void Refresh()
{
if (this.data is PetProxy.PetInfo petInfo)
{
_tmpName.text = petInfo.name;
_tmpGrade.text = "Lv." + petInfo.grade.ToString();
var quality = petInfo.item.quality;
_imgFrame.ShowSprite(quality - 1);
if (petInfo.isFriend)
{
_imgStatus.SetActive(petInfo.isBattling);
_goLock.SetActive(false);
}
else
{
_imgStatus.SetActive(false);
_goLock.SetActive(true);
}
IconProxy.Instance.SetSprite(_imgIcon, petInfo.icon);
}
}
public void RefreshGrade()
{
if (this.data is PetProxy.PetInfo petInfo)
{
_tmpGrade.text = "Lv." + petInfo.grade.ToString();
}
}
public void RefreshName()
{
if (this.data is PetProxy.PetInfo petInfo)
{
_tmpName.text = petInfo.name;
}
}
public void RefreshBattleStatus()
{
if (this.data is PetProxy.PetInfo petInfo)
{
_imgStatus.SetActive(petInfo.isBattling);
}
}
void OnSelect()
{
GetWindow<PetWindow>().OnPetSelect(this.data as PetProxy.PetInfo);
}
public void SetSelect(bool select)
{
_goSelect.SetActive(select);
}
#endregion
#region Unity
/// <summary>
///
/// </summary>
private void Awake()
{
SetViewData();
_imgFrame.GetComponent<Button>().onClick.AddListener(this.OnSelect);
}
#endregion
}
}
}