using DG.Tweening; using System; using System.Collections; using TMPro; using UnityEngine; using UnityEngine.UI; public class UI_CustomSessionPanel : BasePanel { private string triggerID; public Action<string> callBack; private float typingSpeed = 0.05f; /// <summary> /// 初始化,state 0 激活另一个操作 /// </summary> public void Init(string triggerID, string clientTalk, Action<string> _callBack) { this.triggerID = triggerID; callBack += _callBack; GetControl<TextMeshProUGUI>("ClientText_DialogBox").text = ""; //UItext = GetControl<TextMeshProUGUI>("ClientText_DialogBox"); StartTypewriterEffect(clientTalk); } public override void HideMe() { base.HideMe(); } //} /// <summary> /// 按钮点击 /// </summary> /// <param name="btnName"></param> protected override void OnClick(string btnName) { switch (btnName) { case "ClientContinueBtn": callBack?.Invoke(triggerID); break; } } void StartTypewriterEffect(string msg) { // 使用DoTween的DOText方法实现打字机效果 GetControl<TextMeshProUGUI>("ClientText_DialogBox").DOText(msg, msg.Length * typingSpeed) .SetEase(Ease.Linear); } }