///// DEVICE MOTION ///// private IEnumerator SendAccelRepeated(float interval) { Quaternion deviceQuat; Vector3 deviceEuler; // Wait for connection to Teleportal network while (!Teleportal.Teleportal.tp.IsConnected()) { yield return(new WaitForSeconds(0.1f)); } while (Teleportal.Teleportal.tp.IsConnected()) { // Get rotation deviceQuat = Input.gyro.attitude; deviceQuat = this.GyroToUnity(deviceQuat); deviceEuler = deviceQuat.eulerAngles; // Send via network string deviceStr = deviceQuat.x + "," + deviceQuat.y + "," + deviceQuat.z + "," + deviceQuat.w; tpo.SetState("accel", deviceStr); Debug.Log("SEND: " + deviceStr); if (Input.touchCount > 0 && !this.networkForceEnabled) { tpo.SetState("force", "1"); this.networkForceEnabled = true; } else if (Input.touchCount == 0 && this.networkForceEnabled) { tpo.SetState("force", "0"); this.networkForceEnabled = false; } yield return(new WaitForSeconds(interval)); } }
public void ButtonSelected(int index) { string prefabName; switch (index) { case 0: // victim prefabName = "victim_marker"; break; case 1: // hazard prefabName = "caution_marker"; break; case 2: // landmark prefabName = "landmark_marker"; break; default: prefabName = "victim_marker"; break; } GameObject markerGO = Instantiate(this.MarkerTpoPrefab); TPObject markerTPO = TPObject.get(markerGO); markerTPO.OnInit += delegate { Transform t = TPUser.SelfUser.transform; Vector3 pos = t.position; Vector3 ang = t.eulerAngles; // pos.z += 1; markerTPO.transform.position = pos; // markerTPO.transform.eulerAngles = ang; // set marker prefab renderer markerTPO.SetState("prefab", prefabName); }; }