| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | 
							- using HorizonBasedAmbientOcclusion;
 
- using System;
 
- using System.Runtime.InteropServices;
 
- using UnityEngine;
 
- using UnityEngine.Rendering.PostProcessing;
 
- public class OpenByUrl : MonoBehaviour
 
- {
 
-     [DllImport("__Internal")]
 
-     private static extern string StringReturnValueFunction();
 
-     public static string UrlMsg = string.Empty;
 
-     public GameObject panel_1;
 
-     public GameObject panel_2;
 
-     public GameObject panel_3;
 
-     public PageIndex defaultPage;
 
-     public GameObject reflectProbe;
 
-     public HBAO aoComponent;
 
-     public PostProcessLayer postProcessComponent;
 
-     public PostProcessVolume postProcessVolume;
 
-     private void Awake()
 
-     {
 
-         //panel_1 = this.transform.GetChild(0).gameObject;
 
-         //panel_2 = this.transform.GetChild(1).gameObject;
 
-         //panel_3 = this.transform.GetChild(2).gameObject;
 
-         panel_1.SetActive(false);
 
-         panel_2.SetActive(false);
 
-         panel_3.SetActive(false);
 
-         SelectPage();
 
-     }
 
-     void SelectPage()
 
-     {
 
-         UrlMsg = "?panel=1&quality=low";
 
-         try
 
-         {
 
-             UrlMsg = StringReturnValueFunction();
 
-         }
 
-         catch (System.Exception e)
 
-         {
 
-             UrlMsg = "[catch]" + e.Message;
 
-             Debug.Log("获取URL参数错误!!!");
 
-         }
 
-         string panelValue = "";
 
-         string qualityValue = "";
 
-         // 解析URL参数
 
-         if (UrlMsg.StartsWith("?"))
 
-         {
 
-             string[] paramPairs = UrlMsg.Substring(1).Split('&');
 
-             foreach (string pair in paramPairs)
 
-             {
 
-                 string[] kv = pair.Split('=');
 
-                 if (kv.Length == 2)
 
-                 {
 
-                     if (kv[0] == "panel")
 
-                         panelValue = kv[1];
 
-                     else if (kv[0] == "quality")
 
-                         qualityValue = kv[1];
 
-                 }
 
-             }
 
-         }
 
-         // 输出qualityValue(用于调试或设置画质)
 
-         if (!string.IsNullOrEmpty(qualityValue))
 
-         {
 
-             Debug.Log("Quality 参数为: " + qualityValue);
 
-             // 你可以在这里根据qualityValue设置游戏画质
 
-             // 例如:
 
-             if (qualityValue == "high")
 
-             {
 
-                 QualitySettings.SetQualityLevel(3);
 
-             }
 
-             else if (qualityValue == "middle")
 
-             {
 
-                 QualitySettings.SetQualityLevel(2);
 
-                 reflectProbe.gameObject.SetActive(false);
 
-                 aoComponent.enabled = false;
 
-                 postProcessComponent.enabled = false;
 
-                 postProcessVolume.enabled = false;
 
-             }
 
-             else
 
-             {
 
-                 QualitySettings.SetQualityLevel(1);
 
-                 reflectProbe.gameObject.SetActive(false);
 
-                 aoComponent.enabled = false;
 
-                 postProcessComponent.enabled = false;
 
-                 postProcessVolume.enabled = false;
 
-             }
 
-         }
 
-         else {
 
-             QualitySettings.SetQualityLevel(1);
 
-             reflectProbe.gameObject.SetActive(false);
 
-             aoComponent.enabled = false;
 
-             postProcessComponent.enabled = false;
 
-             postProcessVolume.enabled = false;
 
-         }
 
-         // 根据 panel 参数显示对应页面
 
-         switch (panelValue)
 
-         {
 
-             case "1":
 
-                 GlobalData.pageIndex = PageIndex.Page1;
 
-                 panel_1.SetActive(true);
 
-                 break;
 
-             case "2":
 
-                 GlobalData.pageIndex = PageIndex.Page2;
 
-                 panel_2.SetActive(true);
 
-                 break;
 
-             case "3":
 
-                 GlobalData.pageIndex = PageIndex.Page3;
 
-                 panel_3.SetActive(true);
 
-                 break;
 
-             default:
 
-                 switch (defaultPage)
 
-                 {
 
-                     case PageIndex.Page1:
 
-                         GlobalData.pageIndex = PageIndex.Page1;
 
-                         panel_1.SetActive(true);
 
-                         break;
 
-                     case PageIndex.Page2:
 
-                         GlobalData.pageIndex = PageIndex.Page2;
 
-                         panel_2.SetActive(true);
 
-                         break;
 
-                     case PageIndex.Page3:
 
-                         GlobalData.pageIndex = PageIndex.Page3;
 
-                         panel_3.SetActive(true);
 
-                         break;
 
-                 }
 
-                 break;
 
-         }
 
-     }
 
- }
 
 
  |