Пример #1
0
    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));
        }
    }
Пример #2
0
    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
    }
Пример #3
0
    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);
    }
Пример #4
0
    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);
        }
    }
Пример #6
0
 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;
    }
Пример #10
0
    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);
    }
Пример #11
0
    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);
    }
Пример #12
0
    /************************************   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;
    }
Пример #13
0
    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);
    }
Пример #14
0
    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");
        }
    }
Пример #16
0
 //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
        }
Пример #18
0
    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);
    }
Пример #19
0
    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);
    }
Пример #20
0
    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);
    }
Пример #21
0
    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);
    }
Пример #22
0
    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);
    }
Пример #23
0
    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);
     }
 }
Пример #26
0
    //获取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);
    }
Пример #27
0
    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();
    }
Пример #29
0
    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");
    }
Пример #30
0
    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]));
    }