Skip to content
Snippets Groups Projects
Select Git revision
  • fffb896a1b64341aa6038a83a4be81722d77aafe
  • main default
2 results

Input.cs.meta

Blame
  • 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()
            {