unityzgy/.svn/pristine/7b/7b2113681823201e2a8f5f47604ddc7b93672ddd.svn-base
ayuan9957 bf12e02276 feat: 多语言本地化系统 - 支持中/英/法/俄实时切换
- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg)
- LoginPanel: InputField placeholder本地化、字体颜色保持
- HistoryPanel: 用时数据本地化、placeholder本地化
- RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建)
- AppraiseWindowBase: 评价等级本地化、操作消息重建
- EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized
- StudentOperateRecorder: 新增InjectOperateMsgLocalized方法
- LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选
- 字体切换时保留颜色和verticalOverflow
2026-07-16 10:05:59 +08:00

69 lines
1.4 KiB
Plaintext

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>();
}
public void ShowPromptText(string msg,Color textColor)
{
text_thisText.text = msg;
text_thisText.color = textColor;
}
private void OnEnable()
{
scale = 0.1f;
hideTime = 2;
canvasGroup_this.alpha = 1;
RectTransform_this.anchoredPosition = new Vector2(0, 150);
this.transform.localScale = new Vector3(scale, scale, 1);
}
private void Update()
{
if (scale < 1)//先由小到大显示文字
{
scale += Time.deltaTime * 2;
this.transform.localScale = new Vector3(scale, scale, 1);
}
else//显示完成后文字上升 逐渐隐藏
{
RectTransform_this.anchoredPosition +=Vector2.up * Time.deltaTime*50;
if (canvasGroup_this.alpha > 0f)
canvasGroup_this.alpha -= Time.deltaTime / hideTime;
}
if (hideTime > 0)//计时
{
hideTime -= Time.deltaTime;
}
else//超出计时器隐藏
{
ObjectPool.Instance.Destroy(this.gameObject);
}
}
}