- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg) - LoginPanel: InputField placeholder本地化、字体颜色保持 - HistoryPanel: 用时数据本地化、placeholder本地化 - RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建) - AppraiseWindowBase: 评价等级本地化、操作消息重建 - EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized - StudentOperateRecorder: 新增InjectOperateMsgLocalized方法 - LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选 - 字体切换时保留颜色和verticalOverflow
73 lines
1.6 KiB
C#
73 lines
1.6 KiB
C#
using XFramework;
|
|
using UnityEngine.UI;
|
|
using UnityEngine;
|
|
using XFramework.Objects;
|
|
/// <summary>
|
|
/// ui面板通用的提示文字 0.5f内从小大大显示 显示2秒 2秒内逐渐消失
|
|
/// </summary>
|
|
public class DynamicText : MonoBehaviour
|
|
{
|
|
Text text_thisText;
|
|
float hideTime;
|
|
float scale;
|
|
CanvasGroup canvasGroup_this;
|
|
RectTransform RectTransform_this;
|
|
void Awake()
|
|
{
|
|
InitEvent();
|
|
}
|
|
|
|
void InitEvent()
|
|
{
|
|
text_thisText = this.GetComponent<Text>();
|
|
canvasGroup_this = this.GetComponent<CanvasGroup>();
|
|
RectTransform_this = this.GetComponent<RectTransform>();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 显示提示文字
|
|
/// </summary>
|
|
/// <param name="msg">文字信息</param>
|
|
/// <param name="textColor">文字颜色</param>
|
|
/// <param name="anchordPos">文字位置</param>
|
|
public void ShowPromptText(string msg,Color textColor,Vector2 anchordPos)
|
|
{
|
|
text_thisText.text = msg;
|
|
text_thisText.color = textColor;
|
|
|
|
scale = 0.1f;
|
|
hideTime = 3;
|
|
canvasGroup_this.alpha = 1;
|
|
RectTransform_this.anchoredPosition = anchordPos;
|
|
this.transform.localScale = new Vector3(scale, scale, 1);
|
|
}
|
|
|
|
|
|
private void FixedUpdate()
|
|
{
|
|
if (scale < 1)//先由小到大显示文字
|
|
{
|
|
scale += Time.fixedDeltaTime * 2;
|
|
this.transform.localScale = new Vector3(scale, scale, 1);
|
|
}
|
|
else//显示完成后文字上升 逐渐隐藏
|
|
{
|
|
RectTransform_this.anchoredPosition +=Vector2.up * Time.fixedDeltaTime * 50;
|
|
if (canvasGroup_this.alpha > 0f)
|
|
canvasGroup_this.alpha -= Time.fixedDeltaTime / hideTime;
|
|
}
|
|
|
|
if (hideTime > 0)//计时
|
|
{
|
|
hideTime -= Time.fixedDeltaTime;
|
|
}
|
|
else//超出计时器隐藏
|
|
{
|
|
ObjectPool.Instance.Destroy(this.gameObject);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|