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);
}
}
}