Files
MinFt/Client/Assets/Scripts/AOTScripts/AgreementsPolicesPanel.cs
Liubing\LB 3d8d4d18f3 first commit
先修复一下,错误的场景

删除不必要的钓场资产

修复into场景

update:更新meta文件,修复报错

update:修复资源

修复第一章节建造

修复建造第三章

update:删除多余内容

update:更新README.md

update:还原图标

update:更新README

update:更新配置
2026-04-28 02:17:22 +08:00

84 lines
2.0 KiB
C#

using System.Threading.Tasks;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class AgreementsPolicesPanel : MonoBehaviour, IPointerClickHandler
{
[SerializeField]
private Button aggreementBtn;
[SerializeField]
private Button quitBtn;
[SerializeField]
private TMP_Text title;
[SerializeField]
private TMP_Text text;
private const string prf_key = "AgreementsPolicesPanel";
void OnDisable()
{
aggreementBtn.onClick.RemoveAllListeners();
quitBtn.onClick.RemoveAllListeners();
}
public void OnPointerClick(PointerEventData eventData)
{
int linkIndex = TMP_TextUtilities.FindNearestLink(text, Input.mousePosition, null);
if (linkIndex != -1)
{
TMP_LinkInfo linkInfo = text.textInfo.linkInfo[linkIndex];
var linkID = linkInfo.GetLinkID();
Debug.Log(linkInfo.GetLinkID());
Debug.Log(linkInfo.GetLinkText());
if (linkID == "Privacy")
{
#if UNITY_IOS
linkID = GConstant.V_IOS_Privacy_Policy_URL;
#else
linkID = GConstant.V_Android_Privacy_Policy_URL;
#endif
}
Application.OpenURL(linkID);
}
}
private void OnAggreementBtnClicked()
{
Debug.Log("OnaggreementBtnClicked");
}
public async Task<bool> Agreement()
{
if(PlayerPrefs.HasKey(prf_key))
return true;
gameObject.SetActive(true);
var taskSource = new TaskCompletionSource<bool>();
aggreementBtn.onClick.AddListener(() =>
{
PlayerPrefs.SetInt(prf_key, 1);
taskSource.SetResult(true);
});
quitBtn.onClick.AddListener(() => taskSource.SetResult(false));
var aggree = await taskSource.Task;
aggreementBtn.onClick.RemoveAllListeners();
quitBtn.onClick.RemoveAllListeners();
gameObject.SetActive(false);
return aggree;
}
}