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) }); }
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); } } }
private UniWebViewSafeBrowsing() { if (!UniWebViewHelper.IsEditor) { var listenerObject = new GameObject(id); listener = listenerObject.AddComponent <UniWebViewNativeListener>(); UniWebViewNativeListener.AddListener(listener); } }
public static UniWebViewNativeListener GetListener(string name) { UniWebViewNativeListener listener = null; if (listeners.TryGetValue(name, out listener)) { return(listener); } return(null); }
internal void InternalSafeBrowsingFinished() { if (OnSafeBrowsingFinished != null) { OnSafeBrowsingFinished(this); } UniWebViewNativeListener.RemoveListener(listener.Name); Destroy(listener.gameObject); }
public static UniWebViewNativeListener GetListener(String name) { UniWebViewNativeListener result = null; if (listeners.TryGetValue(name, out result)) { return(result); } else { return(null); } }
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; }
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; }
void OnDestroy() { UniWebViewNativeListener.RemoveListener(listener.Name); UniWebViewInterface.Destroy(listener.Name); Destroy(listener.gameObject); }
public static void AddListener(UniWebViewNativeListener target) { listeners.Add(target.Name, target); }