public void smsReceivedCallback(string msg) { PLOG.I("PvrLog MSG" + msg); var Jdmsg = LitJson.JsonMapper.ToObject(msg); string name = ""; if (msg.Contains("messageSender")) { name = (string)Jdmsg["messageSender"]; } string number = ""; if (msg.Contains("messageAdr")) { number = (string)Jdmsg["messageAdr"]; if (number.Substring(0, 3) == "+82") { number = "0" + number.Remove(0, 3); number = TransformNumber(number); } else { if (number.Substring(0, 1) != "+") { number = TransformNumber(number); } } } //string body = ""; //if (msg.Contains("messageBody")) //{ // body = (string)Jdmsg["messageBody"]; //} //DateTime dt = DateTime.Parse("1970-01-01 00:00:00").AddMilliseconds(Convert.ToInt64((Int64)Jdmsg["messageTime"])); //string time = dt.ToString("yyyy-MM-dd HH:mm:ss"); if (UseToast) { msgtoast.transform.Find("number").GetComponent <Text>().text = number; msgtoast.transform.Find("name").GetComponent <Text>().text = name; if (name.Length == 0) { msgtoast.transform.Find("number").transform.localPosition = new Vector3(0, 0, 0); } else { msgtoast.transform.Find("number").transform.localPosition = new Vector3(60, 0, 0); } StartCoroutine(ToastManager(2, true, 0f)); StartCoroutine(ToastManager(2, false, 5.0f)); } }
private void StartHummingBirdService() { #if ANDROID_DEVICE try { UnityEngine.AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); activity = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity"); javaHummingbirdClass = new AndroidJavaClass("com.picovr.picovrlib.hummingbirdclient.HbClientActivity"); javaCVClass = new AndroidJavaClass("com.picovr.picovrlib.cvcontrollerclient.ControllerClient"); javavractivityclass = new UnityEngine.AndroidJavaClass("com.psmart.vrlib.VrActivity"); javaserviceClass = new AndroidJavaClass("com.picovr.picovrlib.hummingbirdclient.UnityClient"); Pvr_UnitySDKAPI.System.Pvr_SetInitActivity(activity.GetRawObject(), javaHummingbirdClass.GetRawClass()); int enumindex = (int)GlobalIntConfigs.PLATFORM_TYPE; Render.UPvr_GetIntConfig(enumindex, ref platFormType); Debug.Log("PvrLog platform" + platFormType); enumindex = (int)GlobalIntConfigs.TRACKING_MODE; Render.UPvr_GetIntConfig(enumindex, ref trackingmode); Debug.Log("PvrLog trackingmode" + trackingmode); systemProp = GetSysproc(); Debug.Log("PvrLog systemProp" + systemProp); enumindex = (int)GlobalIntConfigs.ENBLE_HAND6DOF_BY_HEAD; Render.UPvr_GetIntConfig(enumindex, ref enablehand6dofbyhead); Debug.Log("PvrLog enablehand6dofbyhead" + enablehand6dofbyhead); if (trackingmode == 0 || trackingmode == 1 || (trackingmode == 3 || trackingmode == 5 || trackingmode == 6) && (systemProp == 1 || systemProp == 3)) { picoDevice = platFormType != 0; javaPico2ReceiverClass = new UnityEngine.AndroidJavaClass("com.picovr.picovrlib.hummingbirdclient.HbClientReceiver"); Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(javaPico2ReceiverClass, "startReceiver", activity, gameobjname); Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(javaHummingbirdClass, "setPlatformType", platFormType); } else { picoDevice = true; SetGameObjectToJar(gameobjname); } Render.UPvr_GetIntConfig((int)GlobalIntConfigs.iPhoneHMDModeEnabled, ref iPhoneHMDModeEnabled); if (iPhoneHMDModeEnabled == 1) { BindService(); } else { if (IsServiceExisted()) { BindService(); } } } catch (AndroidJavaException e) { PLOG.E("ConnectToAndriod--catch" + e.Message); } #endif }
public float[] GetHBControllerPoseData() { #if ANDROID_DEVICE Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(ref hbPoseData, javaHummingbirdClass, "getHBSensorPose"); #endif if (PLOG.logLevel > 2) { PLOG.D("PvrLog HBControllerData" + hbPoseData[0] + "," + hbPoseData[1] + "," + hbPoseData[2] + "," + hbPoseData[3]); } return(hbPoseData); }
public int GetCVTriggerValue(int hand) { #if ANDROID_DEVICE Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(ref neotriggerV, javaCVClass, "getControllerKeyEvent", hand); #endif if (PLOG.logLevel > 2) { PLOG.D("PvrLog CVTriggerValue " + neotriggerV[7]); } return(neotriggerV[7]); }
public void changeMainControllerCallback(string index) { PLOG.I("PvrLog MainControllerCallBack" + index); controllerlink.mainHandID = Convert.ToInt16(index); //index = 0/1 if (ChangeMainControllerCallBackEvent != null) { ChangeMainControllerCallBackEvent(index); } }
public Pvr_ControllerLink(string name) { gameobjname = name; hummingBirdMac = ""; hummingBirdRSSI = 0; PLOG.I("PvrLog gameobjectname:" + gameobjname); StartHummingBirdService(); Controller0 = new ControllerHand(); Controller0.Position = new Vector3(0, Pvr_UnitySDKManager.SDK.HeadPose.Position.y, 0) + new Vector3(-0.1f, -0.3f, 0.3f); Controller1 = new ControllerHand(); Controller1.Position = new Vector3(0, Pvr_UnitySDKManager.SDK.HeadPose.Position.y, 0) + new Vector3(0.1f, -0.3f, 0.3f); }
public void SetVolumeNum() { bool enable = false; System.Random rm = new System.Random(); int volume = rm.Next(0, 15); setVolumnum.text = "Random number:" + volume.ToString(); enable = Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_SetVolumeNum(volume); if (!enable) { PLOG.E("SetVolumeNum Error"); } }
public int GetControllerOtaUpdateProgress() { int index = -1; #if ANDROID_DEVICE if (neoserviceStarted) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod<int>(ref index,javaCVClass, "getControllerOtaUpdateProgress"); } #endif PLOG.I("PvrLog ControllerOtaUpdateProgress" + index); return index; }
public int GetStationPairState() { int index = -1; #if ANDROID_DEVICE if (neoserviceStarted) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod<int>(ref index,javaCVClass, "getStationPairState"); } #endif PLOG.I("PvrLog StationPairState" + index); return index; }
public void StopControllerThread(int headSensorState, int handSensorState) { if (BoundarySystem.UPvr_IsBoundaryEnable()) { headSensorState = 1; handSensorState = 1; } #if ANDROID_DEVICE Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(javaCVClass, "stopControllerThread", headSensorState, handSensorState); #endif PLOG.I("PvrLog StopControllerThread" + headSensorState + handSensorState); }
public float[] GetHBControllerPoseData() { var data = new float[4] { 0, 0, 0, 1 }; #if ANDROID_DEVICE Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(ref data, javaHummingbirdClass, "getHBSensorPose"); #endif PLOG.D("PvrLog HBControllerData" + data[0] + "," + data[1] + "," + data[2] + "," + data[3]); return(data); }
/************************************ Public Interfaces **********************************/ #region PublicInterfaces public void ConnectToAndriod() { #if ANDROID_DEVICE try { Debug.Log("PvrLog SDK Version : " + Pvr_UnitySDKAPI.System.UPvr_GetSDKVersion().ToString() + " Unity Script Version :" + Pvr_UnitySDKAPI.System.UPvr_GetUnitySDKVersion().ToString()); UnityEngine.AndroidJavaClass unityPlayer = new UnityEngine.AndroidJavaClass("com.unity3d.player.UnityPlayer"); activity = unityPlayer.GetStatic <UnityEngine.AndroidJavaObject>("currentActivity"); javaVrActivityClass = new UnityEngine.AndroidJavaClass("com.psmart.vrlib.VrActivity"); javaserviceClass = new AndroidJavaClass("com.picovr.picovrlib.hummingbirdclient.UnityClient"); javaVrActivityLongReceiver = new UnityEngine.AndroidJavaClass("com.psmart.vrlib.HomeKeyReceiver"); javaSysActivityClass = new UnityEngine.AndroidJavaClass("com.psmart.aosoperation.SysActivity"); javaVrActivityClientClass = new UnityEngine.AndroidJavaClass("com.psmart.vrlib.PvrClient"); Pvr_UnitySDKAPI.System.Pvr_SetInitActivity(activity.GetRawObject(), javaVrActivityClass.GetRawClass()); model = javaVrActivityClass.CallStatic <string>("Pvr_GetBuildModel"); double[] parameters = new double[5]; Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(ref parameters, javaVrActivityClass, "getDPIParameters", activity); int platformType = -1; int enumindex = (int)Pvr_UnitySDKAPI.GlobalIntConfigs.PLATFORM_TYPE; Pvr_UnitySDKAPI.Render.UPvr_GetIntConfig(enumindex, ref platformType); string systemfps = ""; Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod <string>(ref systemfps, javaserviceClass, "getSysproc", "persist.pvr.debug.appfps"); if (systemfps != "") { Pvr_UnitySDKManager.SDK.systemFPS = Convert.ToBoolean(Convert.ToInt16(systemfps)); } if (platformType == 0) { Pvr_UnitySDKAPI.Render.UPvr_ChangeScreenParameters(model, (int)parameters[0], (int)parameters[1], parameters[2], parameters[3], parameters[4]); Screen.sleepTimeout = SleepTimeout.NeverSleep; } if (Pvr_UnitySDKAPI.System.UPvr_IsPicoActivity()) { bool setMonoPresentation = Pvr_UnitySDKAPI.System.UPvr_SetMonoPresentation(); Debug.Log("ConnectToAndriod set monoPresentation success ?-------------" + setMonoPresentation.ToString()); bool isPresentationExisted = Pvr_UnitySDKAPI.System.UPvr_IsPresentationExisted(); Debug.Log("ConnectToAndriod presentation existed ?-------------" + isPresentationExisted.ToString()); } isShellMode = GetIsShellMode(); Debug.Log("ConnectToAndriod isShellMode ?-------------" + isShellMode.ToString()); } catch (AndroidJavaException e) { PLOG.E("ConnectToAndriod--catch" + e.Message); } #endif canConnecttoActivity = true; }
public int GetNeo3GripValue(int hand) { int value = 0; #if ANDROID_DEVICE Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod <int>(ref value, javaCVClass, "getControllerGripValue", hand); #endif if (PLOG.logLevel > 2) { PLOG.D("PvrLog Neo3GripValue:" + value); } return(value); }
public int[] GetNeo3TouchData(int hand) { #if ANDROID_DEVICE Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(ref neo3TouchValue, javaCVClass, "getControllerTouchEvent", hand); #endif if (PLOG.logLevel > 2) { PLOG.D("PvrLog Neo3Touch hand:" + hand + "-" + neo3TouchValue[0] + neo3TouchValue[1] + neo3TouchValue[2] + neo3TouchValue[3] + neo3TouchValue[4] + "," + neo3TouchValue[5] + neo3TouchValue[6] + neo3TouchValue[7] + neo3TouchValue[8] + neo3TouchValue[9] + "," + neo3TouchValue[10] + neo3TouchValue[11] + neo3TouchValue[12] + neo3TouchValue[13] + neo3TouchValue[14]); } return(neo3TouchValue); }
public void SetBrightness() { bool enable = false; System.Random rm = new System.Random(); int brightness = rm.Next(0, 255); setBrightnum.text = "Random number:" + brightness.ToString(); enable = Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_SetCommonBrightness(brightness); if (!enable) { PLOG.E("SetBrightness Error"); } }
//neo controller状态改变回调(包含手柄能力3,6) public void setControllerAbility(string data) { //data 格式为 ID,ability,state //ID 0/1 分别代表两个手柄 //ability 1/2 1:3dof手柄 2:6dof手柄 //state 0/1 0:断开 1:连接 //此回调为setControllerStateChanged的扩展版,在此回调基础上增加了当前手柄的能力 PLOG.I("setControllerAbility" + data); if (SetControllerAbilityEvent != null) { SetControllerAbilityEvent(data); } }
public static void Pvr_SetScreenBrightnessLevel(int vrBrightness, int level) { #if ANDROID_DEVICE try { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(javaSysActivityClass, "setScreenBrightnessLevel", vrBrightness, level); } catch (Exception e) { PLOG.E(" Error :" + e.ToString()); } #endif }
private void InitForEye(ref Material mat, ref Material mat1) { Shader shader = Shader.Find("Pvr_UnitySDK/Undistortion"); Shader shader1 = Shader.Find("Pvr_UnitySDK/FillColor"); if (shader == null || shader1 == null) { PLOG.E("Ths Shader Missing !"); return; } mat = new Material(shader); mat1 = new Material(shader1); }
public int GetHBKeyValue() { int key = -1; #if ANDROID_DEVICE Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod <int>(ref key, javaHummingbirdClass, "getTriggerKeyEvent"); #endif if (PLOG.logLevel > 2) { PLOG.D("PvrLog GoblinControllerTriggerKey:" + key); } return(key); }
public int GetMainControllerIndex() { int index = 0; #if ANDROID_DEVICE if (neoserviceStarted) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod <int>(ref index, javaCVClass, "getMainControllerIndex"); } #endif PLOG.I("PvrLog MainControllerIndex:" + index); return(index); }
public int GetControllerAbility(int controllerSerialNum) { int index = -1; #if ANDROID_DEVICE if (neoserviceStarted) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod <int>(ref index, javaCVClass, "getControllerAbility", controllerSerialNum); } #endif PLOG.I("PvrLog ControllerAbility:" + index); return(index); }
public int[] GetCvControllerKeyData(int hand) { var data = new int[9] { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; #if ANDROID_DEVICE Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(ref data, javaCVClass, "getControllerKeyEvent", hand); #endif PLOG.D("PvrLog ControllerKey" + data[0] + data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + data[8]); return(data); }
public string GetConnectedDeviceMac() { string mac = ""; #if ANDROID_DEVICE if (goblinserviceStarted) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod <string>(ref mac, javaHummingbirdClass, "getConnectedDeviceMac"); } #endif PLOG.I("PvrLog ConnectedDeviceMac:" + mac); return(mac); }
public void controllerThreadStartedCallback() { PLOG.I("PvrLog ThreadStartSuccess"); GetCVControllerState(); if (ControllerThreadStartedCallbackEvent != null) { ControllerThreadStartedCallbackEvent(); } if (PvrServiceStartSuccessEvent != null) { PvrServiceStartSuccessEvent(); } }
public void setControllerAbility(string data) { //data format is ID,ability,state. //ID 0/1 represents two handles. //ability 1/2 1:3dof controller 2. 6dof controller. //state 0/1 0: disconnect 1: connection. //this callback for setControllerStateChanged extended edition, on the basis of this callback to increase the ability of controller PLOG.I("PvrLog setControllerAbility" + data); if (SetControllerAbilityEvent != null) { SetControllerAbilityEvent(data); } }
//获取station ota升级进度 public int GetStationOtaUpdateProgress() { int index = -1; #if ANDROID_DEVICE if (cvserviceBindState) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod <int>(ref index, javaCVClass, "getStationOtaUpdateProgress"); } #endif PLOG.I("StationOtaUpdateProgress" + index); return(index); }
public void TurnDownVolume() { #if ANDROID_DEVICE if (neoserviceStarted) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(javaCVClass, "turnDownVolume", activity); } if (goblinserviceStarted) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(javaHummingbirdClass, "turnDownVolume", activity); } #endif PLOG.I("PvrLog TurnDownVolume"); }
/************************************ Public Interface *********************************/ #region Public Interface public void InitEyePara() { ComputeEyesFromProfile(); InitForEye(ref Pvr_UnitySDKManager.SDK.Eyematerial, ref Pvr_UnitySDKManager.SDK.Middlematerial); if (Pvr_UnitySDKRender.Instance == null) { PLOG.I("pvr_UnitySDKRender init failed"); } if (Pvr_UnitySDKSensor.Instance == null) { PLOG.I("pvr_UnitySDKSensor init failed"); } FovAdjust(); }
public void TurnDownVolume() { #if ANDROID_DEVICE if (cvserviceBindState) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(javaCVClass, "turnDownVolume", activity); } else { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(javaHummingbirdClass, "turnDownVolume", activity); } #endif PLOG.I("TurnDownVolume"); }
public Vector3 GetVelocity(int num) { #if ANDROID_DEVICE if (neoserviceStarted) { Pvr_UnitySDKAPI.System.UPvr_CallStaticMethod(ref velocity, javaCVClass, "getControllerLinearVelocity", num); } #endif if (PLOG.logLevel > 2) { PLOG.D("PvrLog Velocity" + velocity[0] + "," + velocity[1] + "," + velocity[2]); } return(new Vector3(velocity[0], velocity[1], -velocity[2])); }