104 lines
2.2 KiB
C#
104 lines
2.2 KiB
C#
![]() |
// ***********************************************************************
|
|||
|
// Assembly : Game
|
|||
|
// Author : Kimch
|
|||
|
// Created : 2021-04-23
|
|||
|
// Description :
|
|||
|
// Last Modified By :
|
|||
|
// Last Modified On :
|
|||
|
// ***********************************************************************
|
|||
|
// <copyright file= "MailWidget" company="Kunpo"></copyright>
|
|||
|
// <summary></summary>
|
|||
|
// ***********************************************************************
|
|||
|
|
|||
|
using TMPro;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
|
|||
|
namespace G.UI
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public class MailWidget : KUIWidget
|
|||
|
{
|
|||
|
#region Field
|
|||
|
|
|||
|
[KUIFlag]
|
|||
|
#pragma warning disable CS0649 // 从未对字段“MailWidget._imgIcon”赋值,字段将一直保持其默认值 null
|
|||
|
Image _imgIcon;
|
|||
|
[KUIFlag]
|
|||
|
TextMeshProUGUI _tmpTitle;
|
|||
|
[KUIFlag]
|
|||
|
TextMeshProUGUI _tmpContent;
|
|||
|
[KUIFlag]
|
|||
|
GameObject _imgStatus;
|
|||
|
[KUIFlag]
|
|||
|
Button _btnBg;
|
|||
|
#pragma warning restore CS0649 // 从未对字段“MailWidget._btnBg”赋值,字段将一直保持其默认值 null
|
|||
|
|
|||
|
KUIImage _mailBGStatus;
|
|||
|
KUIImage _mailStatus;
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Method
|
|||
|
|
|||
|
public override void Refresh()
|
|||
|
{
|
|||
|
if (this.data is Mail mail)
|
|||
|
{
|
|||
|
_tmpTitle.text = mail.title;
|
|||
|
_tmpContent.text = mail.sender;
|
|||
|
SetStatus(mail.status, mail.giveItems != null && mail.giveItems.Length > 0);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
/// <param name="status">0,1,2</param>
|
|||
|
private void SetStatus(int status, bool hasAward)
|
|||
|
{
|
|||
|
if (status == 0)
|
|||
|
{
|
|||
|
_imgStatus.SetActive(false);
|
|||
|
_mailBGStatus.ShowSprite(0);
|
|||
|
_mailStatus.ShowSprite(hasAward ? 1 : 0);
|
|||
|
}
|
|||
|
else// if (status == 1)
|
|||
|
{
|
|||
|
_imgStatus.SetActive(true);
|
|||
|
_mailBGStatus.ShowSprite(1);
|
|||
|
_mailStatus.ShowSprite(hasAward ? 3 : 2);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void OnBgBtnClick()
|
|||
|
{
|
|||
|
if (this.data is Mail mail)
|
|||
|
{
|
|||
|
MailProxy.Instance.Read(mail, null);
|
|||
|
SendNotification(GlobalDefine.EVENT_MAIL_SELECTED, this.data);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Unity
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
private void Awake()
|
|||
|
{
|
|||
|
SetViewData();
|
|||
|
_btnBg.onClick.AddListener(this.OnBgBtnClick);
|
|||
|
|
|||
|
_mailBGStatus = _btnBg.GetComponent<KUIImage>();
|
|||
|
_mailStatus = _imgIcon.GetComponent<KUIImage>();
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|