using System.Collections.Generic; using UnityEngine; namespace Rokid.UXR { /// /// Unity Android CallBridge /// public class CallBridge { private static AndroidJavaObject bridge = new AndroidJavaClass("com.rokid.unitycallbridge.UnityCallBridge"); public static List cmdlist = new List(); static Request.Callback joinCallback = new Request.Callback(); public static AndroidJavaObject CallAndroid(Request request) { return bridge.CallStatic("onUnityCall", CreateBaseRequest(request)); } public static bool CovertBool(AndroidJavaObject obj) { return bridge.CallStatic("ConvertBoolean", obj); } public static int CovertInt(AndroidJavaObject obj) { return bridge.CallStatic("ConvertInt", obj); } public static string CovertString(AndroidJavaObject obj) { return bridge.CallStatic("ConvertString", obj); } public static float ConvertFloat(AndroidJavaObject obj) { return bridge.CallStatic("ConvertFloat", obj); } public static double ConvertDouble(AndroidJavaObject obj) { return bridge.CallStatic("ConvertDouble", obj); } public static Request.Callback CreateCallback(string name, string method) { return CreateCallback(name, method, null); } public static Request.Callback CreateCallback(string name, string method, string param) { joinCallback.name = name; joinCallback.method = method; joinCallback.param = param; return joinCallback; } private static string CreateBaseRequest(Request request) { return JsonUtility.ToJson(request); } public static void RegisterStaticService(string serviceClass) { AndroidJavaClass service = new AndroidJavaClass(serviceClass); bridge.CallStatic("registerStaticService", service); } } }