149 lines
3.1 KiB
C#
149 lines
3.1 KiB
C#
// ***********************************************************************
|
|
// Assembly : Game
|
|
// Author : Kimch
|
|
// Created : 2020-09-19
|
|
// Description :
|
|
// Last Modified By :
|
|
// Last Modified On :
|
|
// ***********************************************************************
|
|
// <copyright file= "ToastItem" company="KUNPO"></copyright>
|
|
// <summary></summary>
|
|
// ***********************************************************************
|
|
|
|
using System.Collections;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace G.UI
|
|
{
|
|
partial class ToastBox
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
private class ToastWidget : KUIWidget
|
|
{
|
|
#region Field
|
|
|
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpContent;
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpContent2;
|
|
[KUIFlag]
|
|
KUIImage _imgFrame;
|
|
[KUIFlag]
|
|
Image _imgIcon;
|
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
|
|
CanvasGroup _canvasGroup;
|
|
#endregion
|
|
|
|
#region Method
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="text"></param>
|
|
public void SetText(string text)
|
|
{
|
|
if (_tmpContent)
|
|
_tmpContent.text = text;
|
|
}
|
|
public void SetText2(string text)
|
|
{
|
|
if (_tmpContent2)
|
|
_tmpContent2.text = text;
|
|
}
|
|
|
|
public void SetNumber(int number1, int number2)
|
|
{
|
|
StartCoroutine(DoNumberAnim(number1, number2));
|
|
}
|
|
|
|
private IEnumerator DoNumberAnim(int number1, int number2)
|
|
{
|
|
int add = number2 - number1;
|
|
_tmpContent2.text = "+" + add;
|
|
add /= 16;
|
|
for (int i = 0; i < 16; i++)
|
|
{
|
|
if (number2 - number1 < add)
|
|
break;
|
|
number1 = (int)Mathf.Lerp(number1, number2, 0.1f);
|
|
_tmpContent.text = number1.ToString();
|
|
yield return null;
|
|
yield return null;
|
|
yield return null;
|
|
}
|
|
yield return null;
|
|
_tmpContent.text = number2.ToString(); ;
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="index"></param>
|
|
public void SetImage(int index)
|
|
{
|
|
if (_imgFrame)
|
|
_imgFrame.ShowSprite(index);
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="quality"></param>
|
|
public void SetQuality(int quality)
|
|
{
|
|
var color = Item.GetQualityColor(quality);
|
|
if (_imgFrame)
|
|
_imgFrame.ShowSprite(quality - 3);
|
|
if (_tmpContent)
|
|
_tmpContent.color = color;
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="iconInfo"></param>
|
|
public void SetIcon(string[] iconInfo)
|
|
{
|
|
if (_imgIcon)
|
|
IconProxy.Instance.SetSprite(_imgIcon, iconInfo);
|
|
}
|
|
|
|
public void SetAlpha(float alpha)
|
|
{
|
|
if (_canvasGroup)
|
|
_canvasGroup.alpha = alpha;
|
|
}
|
|
|
|
public void SetFx(string fx)
|
|
{
|
|
for (int i = 0; i < transform.childCount; i++)
|
|
{
|
|
var child = transform.GetChild(i);
|
|
child.gameObject.SetActive(child.name == fx);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Unity
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
private void Awake()
|
|
{
|
|
SetViewData();
|
|
_canvasGroup = GetComponent<CanvasGroup>();
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
}
|