コード例 #1
0
    void OnJavaMessage(string message)
    {
        // {listener_name}@{method_name}@parameters
        string[] parts = message.Split("@"[0]);
        if (parts.Length < 3)
        {
            Debug.Log("Not enough parts for receiving a message.");
            return;
        }

        var listener = UniWebViewNativeListener.GetListener(parts[0]);

        if (listener == null)
        {
            Debug.Log("Unable to find listener");
            return;
        }

        MethodInfo methodInfo = typeof(UniWebViewNativeListener).GetMethod(parts[1]);

        if (methodInfo == null)
        {
            Debug.Log("Cannot find correct method to invoke: " + parts[1]);
        }

        var leftLength = parts.Length - 2;
        var left       = new string[leftLength];

        for (int i = 0; i < leftLength; i++)
        {
            left[i] = parts[i + 2];
        }
        methodInfo.Invoke(listener, new object[] { String.Join("@", left) });
    }
コード例 #2
0
 private void OnJavaMessage(string message)
 {
     char[]   separator = new char[] { "@"[0] };
     string[] strArray  = message.Split(separator);
     if (strArray.Length < 3)
     {
         Debug.Log("Not enough parts for receiving a message.");
     }
     else
     {
         UniWebViewNativeListener listener = UniWebViewNativeListener.GetListener(strArray[0]);
         if (listener == null)
         {
             Debug.Log("Unable to find listener");
         }
         else
         {
             MethodInfo method = typeof(UniWebViewNativeListener).GetMethod(strArray[1]);
             if (method == null)
             {
                 Debug.Log("Cannot find correct method to invoke: " + strArray[1]);
             }
             int      num       = strArray.Length - 2;
             string[] strArray2 = new string[num];
             for (int i = 0; i < num; i++)
             {
                 strArray2[i] = strArray[i + 2];
             }
             object[] parameters = new object[] { string.Join("@", strArray2) };
             method.Invoke(listener, parameters);
         }
     }
 }
コード例 #3
0
 private UniWebViewSafeBrowsing()
 {
     if (!UniWebViewHelper.IsEditor)
     {
         var listenerObject = new GameObject(id);
         listener = listenerObject.AddComponent <UniWebViewNativeListener>();
         UniWebViewNativeListener.AddListener(listener);
     }
 }
コード例 #4
0
    public static UniWebViewNativeListener GetListener(string name)
    {
        UniWebViewNativeListener listener = null;

        if (listeners.TryGetValue(name, out listener))
        {
            return(listener);
        }
        return(null);
    }
コード例 #5
0
    internal void InternalSafeBrowsingFinished()
    {
        if (OnSafeBrowsingFinished != null)
        {
            OnSafeBrowsingFinished(this);
        }

        UniWebViewNativeListener.RemoveListener(listener.Name);
        Destroy(listener.gameObject);
    }
コード例 #6
0
    public static UniWebViewNativeListener GetListener(String name)
    {
        UniWebViewNativeListener result = null;

        if (listeners.TryGetValue(name, out result))
        {
            return(result);
        }
        else
        {
            return(null);
        }
    }
コード例 #7
0
    private void _init()
    {
        Rect       rect;
        GameObject obj2 = new GameObject(this.id);

        this.listener         = obj2.AddComponent <UniWebViewNativeListener>();
        obj2.transform.parent = base.transform;
        this.listener.webView = this;
        UniWebViewNativeListener.AddListener(this.listener);
        if (this.fullScreen)
        {
            rect = new Rect(0f, 0f, (float)GameLogic.ScreenWidth, (float)GameLogic.ScreenHeight);
        }
        else
        {
            rect = this.NextFrameRect();
        }
        UniWebViewInterface.Init(this.listener.Name, (int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height);
        this.isPortrait = GameLogic.ScreenHeight >= GameLogic.ScreenWidth;
    }
コード例 #8
0
ファイル: UniWebView.cs プロジェクト: freedomWind/pWebview
    void Awake()
    {
        var listenerObject = new GameObject(id);

        listener = listenerObject.AddComponent <UniWebViewNativeListener>();
        listenerObject.transform.parent = transform;
        listener.webView = this;

        Rect rect;

        if (fullScreen)
        {
            rect = new Rect(0, 0, Screen.width, Screen.height);
        }
        else
        {
            rect = NextFrameRect();
        }

        UniWebViewInterface.Init(listener.Name, (int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height);
        isPortrait = Screen.height >= Screen.width;
    }
コード例 #9
0
 void OnDestroy()
 {
     UniWebViewNativeListener.RemoveListener(listener.Name);
     UniWebViewInterface.Destroy(listener.Name);
     Destroy(listener.gameObject);
 }
コード例 #10
0
 public static void AddListener(UniWebViewNativeListener target)
 {
     listeners.Add(target.Name, target);
 }