62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
namespace Guru
 | 
						|
{
 | 
						|
    using System.Collections;
 | 
						|
    using System.Collections.Generic;
 | 
						|
    using UnityEngine;
 | 
						|
    
 | 
						|
    /// <summary>
 | 
						|
    /// Guru 内置浏览器
 | 
						|
    /// </summary>
 | 
						|
    public class GuruWebview
 | 
						|
    {
 | 
						|
        public const string Version = "0.0.2";
 | 
						|
        public static float WindowFadeDuration = 0.35f;
 | 
						|
        
 | 
						|
        private static UniWebView CreateWebView()
 | 
						|
        {
 | 
						|
            var go = new GameObject("guru_webview");
 | 
						|
            Object.DontDestroyOnLoad(go);
 | 
						|
            var view = go.AddComponent<UniWebView>();
 | 
						|
            view.Frame = new Rect(0,0, Screen.width, Screen.height);
 | 
						|
            view.SetUserInteractionEnabled(true);
 | 
						|
            return view;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 打开页面
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="url">页面链接</param>
 | 
						|
        /// <param name="showToolbar">显示工具条</param>
 | 
						|
        /// <param name="waitForReady">等待加载完成后再显示页面</param>
 | 
						|
        /// <param name="fadeIn">淡入显示效果</param>
 | 
						|
        public static void OpenPage(string url, bool showToolbar = true, 
 | 
						|
            bool waitForReady = true, bool fadeIn = true)
 | 
						|
        {
 | 
						|
            Debug.Log($"---- Guru Open Url: {url}");
 | 
						|
            var view = CreateWebView();
 | 
						|
            
 | 
						|
            if (showToolbar)
 | 
						|
            {
 | 
						|
                view.SetShowToolbarNavigationButtons(true);
 | 
						|
                view.SetBackButtonEnabled(true);
 | 
						|
                view.EmbeddedToolbar.Show();
 | 
						|
                // view.SetToolbarDoneButtonText("X");
 | 
						|
            }
 | 
						|
 | 
						|
            view.Load(url);
 | 
						|
            if (waitForReady)
 | 
						|
            {
 | 
						|
                view.OnPageFinished += (v, code, msg) =>
 | 
						|
                {
 | 
						|
                    // 加载完成后展示页面
 | 
						|
                    view.Show(fadeIn, duration:WindowFadeDuration);
 | 
						|
                };
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                view.Show(fadeIn, duration:WindowFadeDuration);   //直接加载页面
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
} |