namespace Guru
{
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// Guru 内置浏览器
///
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();
view.Frame = new Rect(0,0, Screen.width, Screen.height);
view.SetUserInteractionEnabled(true);
return view;
}
///
/// 打开页面
///
/// 页面链接
/// 显示工具条
/// 等待加载完成后再显示页面
/// 淡入显示效果
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); //直接加载页面
}
}
}
}