Select Git revision
UIconfig.cs
WebViewComponent.cs 8.88 KiB
using bessw.Unity.WebView.ChromeDevTools;
using bessw.Unity.WebView.ChromeDevTools.Protocol.DOM;
using bessw.Unity.WebView.ChromeDevTools.Protocol.Input;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace bessw.Unity.WebView
{
[RequireComponent(typeof(RawImage))]
[RequireComponent(typeof(RectTransform))]
public class WebViewComponent : MonoBehaviour, IPointerDownHandler, IPointerMoveHandler, IPointerUpHandler, IPointerEnterHandler, IDropHandler, IPointerExitHandler
{
#region json serializer
/// <summary>
/// Json serializer settings for the user space objects (e.g. transferring objects that have been dropped 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. transferring objects that have been dropped 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;
public BrowserTab tab;
/// <summary>
/// Fired when `Document` has been totally updated. Node ids are no longer valid.
/// Other DOM events are fired directly on their `DomNodeWrapper` object.
/// </summary>
public event Action<documentUpdatedEvent> onDomDocumentUpdated
{
add => tab.devtools.onDomDocumentUpdated += value;
remove => tab.devtools.onDomDocumentUpdated -= value;
}
public event Action OnWebViewComponentReady;
private RawImage rawImage;
private RectTransform rectTransform;
public bool headlessBrowser = true;
//TODO: handle changed targetUrl
public string targetUrl = "https://google.de";
public int PageScaleFactor = 3;
// Start is called before the first frame update
private void Start()
{