NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/HotUpdate/UI/TempUIHandle.cs

65 lines
2.4 KiB
C#

using Cysharp.Threading.Tasks;
using PhxhSDK.AOT.PreConfig;
using PhxhSDK.AOT.VersionUpdate;
using UnityEngine;
namespace Code.Scripts.HotUpdate.UI
{
public class TempUIHandle : IVersionUpdateUI
{
public TempUIHandle()
{
TempUpdateUI.Instance.m_DialogObj.SetActive(false);
}
public async UniTask<bool> ShowDialog(string title, string content)
{
TempUpdateUI.Instance.m_DialogObj.SetActive(true);
TempUpdateUI.Instance.isClickOk = false;
//TempUpdateUI.instance.m_TextTitle.text = title;
TempUpdateUI.Instance.m_TextContent.text = content;
while (TempUpdateUI.Instance.m_DialogObj.activeSelf)
{
await UniTask.DelayFrame(1);
}
return TempUpdateUI.Instance.isClickOk;
}
public void ShowVersion(string version)
{
TempUpdateUI.Instance.m_TextVersion.text = version;
TempUpdateUI.Instance.m_TextVersion.gameObject.SetActive(true);
}
public void ShowVersion(string curAotVersion, string workSpace, string curResVersion, string newResVersion, string serverName)
{
string version = string.Format(LocalizeMono.Instance.GetLocalizeText("VersionInfo"), curAotVersion, workSpace, curResVersion, newResVersion, serverName); // 游戏版本:{0},渠道:{1},当前资源版本:{2},最新资源版本:{3},服务器:{4}
TempUpdateUI.Instance.m_TextVersion.text = version;
TempUpdateUI.Instance.m_TextVersion.gameObject.SetActive(true);
}
public void UpdateProgress(float progress)
{
TempUpdateUI.Instance.m_ProgressObj.SetActive(true);
TempUpdateUI.Instance.m_SliderProgress.value = progress;
TempUpdateUI.Instance.m_textSliderProgress.text = ((int)(progress * 100f)).ToString() + "%";
}
public void UpdateProgressText(string text)
{
TempUpdateUI.Instance.m_ProgressObj.SetActive(true);
TempUpdateUI.Instance.m_TextProgress.text = text;
}
public void CloseAll()
{
TempUpdateUI.Instance.UICamera.gameObject.SetActive(false);
Object.Destroy(TempUpdateUI.Instance.gameObject);
}
public float GetCurProgress()
{
return TempUpdateUI.Instance.m_SliderProgress.value;
}
}
}