YanCheng_Metrology/Assets/Scripts/Project/UI/UI_Panel/UI_PlayerSessionPanel.cs

50 lines
1.4 KiB
C#

using DG.Tweening;
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class UI_PlayerSessionPanel : BasePanel
{
private string triggerID;
public Action<string> callBack;
private TextMeshProUGUI UItext;
private string fullText;
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>("PlayerText_DialogBox").text = clientTalk /*"好的"*/;
UItext.text = GetControl<TextMeshProUGUI>("PlayerText_DialogBox").text;
StartTypewriterEffect();
}
//}
/// <summary>
/// 按钮点击
/// </summary>
/// <param name="btnName"></param>
protected override void OnClick(string btnName)
{
switch (btnName)
{
case "PlayerContinueBtn":
GameManager.UIMgr.HidePanel<UI_PlayerSessionPanel>();
callBack?.Invoke(triggerID);
break;
}
}
void StartTypewriterEffect()
{
// 使用DoTween的DOText方法实现打字机效果
UItext.DOText(fullText, fullText.Length * typingSpeed)
.SetEase(Ease.Linear);
}
}