Select Git revision
Screencast.cs
-
Björn Eßwein authoredBjörn Eßwein authored
WebViewComponent.cs 8.73 KiB
using bessw.Unity.WebView.ChromeDevTools;
using bessw.Unity.WebView.ChromeDevTools.Protocol.Input;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace bessw.Unity.WebView
{
[RequireComponent(typeof(RawImage))]
public class WebViewComponent : MonoBehaviour, IPointerDownHandler, IPointerMoveHandler, IPointerUpHandler, IPointerEnterHandler, IDropHandler, IPointerExitHandler
{
#region json serializer
/// <summary>
/// Json serializer settings for the user space objects (e.g. transfering objects that have been droped on the BrowserView)
/// Users are allowed to change serializer settings to their liking.
/// </summary>
public static JsonSerializerSettings serializerSettings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
Converters = new List<JsonConverter>()
{
new ColorConverter(),
new Vector2Converter(),
new Vector3Converter(),
new Vector4Converter()
}
};
/// <summary>
/// JsonSerializer for the user space objects (e.g. transfering objects that have been droped on the BrowserView)
/// Users are allowed to change serializer settings to their liking.
/// </summary>
public static JsonSerializer serializer = JsonSerializer.Create(serializerSettings);
#endregion json serializer
private Browser browser;
protected BrowserTab tab;
private RawImage rawImage;
private RectTransform rectTransform;
public bool headlessBrowser = true;
//TODO: handle changed targetUrl
public string targetUrl = "https://google.de";
// Start is called before the first frame update
private void Start()
{
Debug.LogWarning("start Webview");
rawImage = this.gameObject.GetComponent<RawImage>();
rectTransform = this.gameObject.GetComponent<RectTransform>();
}
private void OnEnable()
{
Debug.LogWarning("enable Webview");
Browser.headless = headlessBrowser;
browser = Browser.getInstance();
//StartCoroutine(GetOpenTabs());
var c = StartCoroutine(browser.OpenNewTab(targetUrl, (BrowserTab bt) =>
{
tab = bt;
StartCoroutine(tab.Update());
//StartCoroutine(createScreenshots());