// Update is called once per frame void Update() { #if UNITY_ANDROID if (controllerlink.neoserviceStarted) { if (controllerlink.controller0Connected) { var pose0 = controllerlink.GetCvControllerPoseData(0); controllerlink.Controller0.Rotation = new Quaternion(pose0[0], pose0[1], pose0[2], pose0[3]); controllerlink.Controller0.Position = new Vector3(pose0[4] / 1000.0f, pose0[5] / 1000.0f, -pose0[6] / 1000.0f); var key0 = controllerlink.GetCvControllerKeyData(0); controllerlink.Controller0.TouchPadPosition = new Vector2(key0[0], key0[1]); var keyleft = controllerlink.GetCV2ControllerKeyData(0); SetSwipeData(controllerlink.Controller0); SetTouchPadClick(controllerlink.Controller0); TransformData(controllerlink.Controller0.Home, key0[2]); TransformData(controllerlink.Controller0.App, key0[3]); TransformData(controllerlink.Controller0.Touch, key0[4]); TransformData(controllerlink.Controller0.VolumeUp, key0[5]); TransformData(controllerlink.Controller0.VolumeDown, key0[6]); TransformData(controllerlink.Controller0.X, keyleft[0]); TransformData(controllerlink.Controller0.Y, keyleft[1]); //TransformData(controllerlink.Controller0.Left, keyleft[2]); TransformData(controllerlink.Controller0.Left, keyleft[3]); controllerlink.Controller0.TriggerNum = key0[7]; SetTriggerClick(controllerlink.Controller0.Trigger, key0[7]); controllerlink.Controller0.Battery = key0[8]; } if (controllerlink.controller1Connected) { var pose1 = controllerlink.GetCvControllerPoseData(1); controllerlink.Controller1.Rotation = new Quaternion(pose1[0], pose1[1], pose1[2], pose1[3]); controllerlink.Controller1.Position = new Vector3(pose1[4] / 1000.0f, pose1[5] / 1000.0f, -pose1[6] / 1000.0f); var key1 = controllerlink.GetCvControllerKeyData(1); controllerlink.Controller1.TouchPadPosition = new Vector2(key1[0], key1[1]); var keyright = controllerlink.GetCV2ControllerKeyData(1); SetSwipeData(controllerlink.Controller1); SetTouchPadClick(controllerlink.Controller1); TransformData(controllerlink.Controller1.Home, key1[2]); TransformData(controllerlink.Controller1.App, key1[3]); TransformData(controllerlink.Controller1.Touch, key1[4]); TransformData(controllerlink.Controller1.VolumeUp, key1[5]); TransformData(controllerlink.Controller1.VolumeDown, key1[6]); TransformData(controllerlink.Controller1.A, keyright[0]); TransformData(controllerlink.Controller1.B, keyright[1]); TransformData(controllerlink.Controller1.Right, keyright[2]); //TransformData(controllerlink.Controller1.Right, keyright[3]); controllerlink.Controller1.TriggerNum = key1[7]; SetTriggerClick(controllerlink.Controller1.Trigger, key1[7]); controllerlink.Controller1.Battery = key1[8]; } } //Goblin controller if (controllerlink.goblinserviceStarted && controllerlink.controller0Connected) { var pose0 = controllerlink.GetHBControllerPoseData(); var jpose = JsonMapper.ToObject(pose0); controllerlink.Controller0.Rotation = new Quaternion(Convert.ToSingle(jpose[1].ToString()), Convert.ToSingle(jpose[2].ToString()), Convert.ToSingle(jpose[3].ToString()), Convert.ToSingle(jpose[0].ToString())); PLOG.D("PvrLog GoblinController X:" + controllerlink.Controller0.Rotation.eulerAngles.x + " Y:" + controllerlink.Controller0.Rotation.eulerAngles.y + " Z:" + controllerlink.Controller0.Rotation.eulerAngles.z); var key0 = controllerlink.GetHBControllerKeyData(); var jkey = JsonMapper.ToObject(key0); controllerlink.Controller0.TouchPadPosition = new Vector2(Convert.ToInt16(jkey[0].ToString()), Convert.ToInt16(jkey[1].ToString())); SetSwipeData(controllerlink.Controller0); SetTouchPadClick(controllerlink.Controller0); TransformData(controllerlink.Controller0.Home, Convert.ToInt16(jkey[2].ToString())); TransformData(controllerlink.Controller0.App, Convert.ToInt16(jkey[3].ToString())); TransformData(controllerlink.Controller0.Touch, Convert.ToInt16(jkey[4].ToString())); TransformData(controllerlink.Controller0.VolumeUp, Convert.ToInt16(jkey[5].ToString())); TransformData(controllerlink.Controller0.VolumeDown, Convert.ToInt16(jkey[6].ToString())); controllerlink.Controller0.Battery = Convert.ToInt16(jkey[7].ToString()); TransformData(controllerlink.Controller0.Trigger, controllerlink.GetTriggerKeyEvent()); } SetSystemKey(); #endif }