AgreementView.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.Networking;
  6. using JCUnityLib;
  7. /* 界面-用户协议和隐私政策 */
  8. public class AgreementView : MonoBehaviour, MenuBackInterface
  9. {
  10. void Start()
  11. {
  12. PersistenHandler.ins?.menuBackCtr.views.Add(this);
  13. AdaptSafeArea(transform.Find("ScrollView").transform as RectTransform);
  14. }
  15. void AdaptSafeArea(RectTransform rtf)
  16. {
  17. float offsetX = Screen.width - Screen.safeArea.width;
  18. Vector2 offset = RectTransformUtils.ScreenV3ToCanvasV3(Vector3.right * offsetX, rtf);
  19. if (rtf.anchorMin.x == 0 && rtf.anchorMax.x == 1)
  20. {
  21. rtf.offsetMin = rtf.offsetMin + offset;
  22. rtf.offsetMax = rtf.offsetMax - offset;
  23. }
  24. }
  25. void OnDestroy()
  26. {
  27. PersistenHandler.ins?.menuBackCtr.views.Remove(this);
  28. }
  29. public bool OnMenuBack() {
  30. Destroy(gameObject);
  31. return true;
  32. }
  33. public void EnterUserAgreement() {
  34. GetTitleText().text = TextAutoLanguage2.GetTextByKey("agreement_user");
  35. StartCoroutine(GetUserAgreement());
  36. }
  37. public void EnterPrivacyAgreement() {
  38. GetTitleText().text = TextAutoLanguage2.GetTextByKey("agreement_privacy");
  39. StartCoroutine(GetPrivacyAgreement());
  40. }
  41. Text GetTitleText() {
  42. return transform.Find("Title").GetComponent<Text>();
  43. }
  44. Text GetContentText(string id = "") {
  45. return transform.Find("ScrollView/Viewport/Content" + id).GetComponent<Text>();
  46. }
  47. public void Back() {
  48. Destroy(gameObject);
  49. }
  50. //http
  51. IEnumerator GetUserAgreement() {
  52. string url = CommonConfig.gateServerURL + "/app/getUserAgreement" + GetLanguageParam();
  53. using (UnityWebRequest request = UnityWebRequest.Get(url)) {
  54. yield return request.SendWebRequest();
  55. if (request.result == UnityWebRequest.Result.Success) {
  56. GetContentText().text = "\n" + request.downloadHandler.text;
  57. }
  58. }
  59. }
  60. IEnumerator GetPrivacyAgreement() {
  61. string url = CommonConfig.gateServerURL + "/app" + GetLanguageDir() + "/privacy-policy";
  62. using (UnityWebRequest request = UnityWebRequest.Get(url)) {
  63. yield return request.SendWebRequest();
  64. if (request.result == UnityWebRequest.Result.Success) {
  65. GetContentText().text = "\n" + request.downloadHandler.text;
  66. }
  67. }
  68. }
  69. string GetLanguageParam() {
  70. if (TextAutoLanguage2.GetLanguage() != LanguageEnum.Chinese) return "?language=en";
  71. return "";
  72. }
  73. string GetLanguageDir() {
  74. if (TextAutoLanguage2.GetLanguage() != LanguageEnum.Chinese) return "/en";
  75. return "/cn";
  76. }
  77. }