예제 #1
0
        private void CreateSpectatorViewRig(Transform parent)
        {
            SpectatorView.HolographicCameraManager hcm = HolographicCameraManager.GetComponent <HolographicCameraManager>();
            if (hcm == null)
            {
                hcm = HolographicCameraManager.AddComponent <HolographicCameraManager>();
            }
            hcm.HolographicCameraIP = SpectatorViewIP;
            hcm.LocalComputerIP     = LocalComputerIP;

            HolographicCameraManager = (GameObject)GameObject.Instantiate(HolographicCameraManager, Vector3.zero, Quaternion.identity);
            HolographicCameraManager.transform.parent = parent;
        }
예제 #2
0
        public void EnableSpectatorView()
        {
            // Instantiate Anchor.
            if (!Anchor.activeInHierarchy)
            {
                Anchor = (GameObject)GameObject.Instantiate(Anchor, Vector3.zero, Quaternion.identity);
            }

            Anchor.SetActive(true);

            // Instantiate HolographicCameraManager.
            if (SpectatorView.HolographicCameraManager.Instance == null)
            {
                CreateSpectatorViewRig(null);
            }
            else
            {
                SpectatorView.HolographicCameraManager hcm = HolographicCameraManager.GetComponent <HolographicCameraManager>();
                Transform parent = SpectatorView.HolographicCameraManager.Instance.transform.parent;
                if (hcm == null)
                {
                    Debug.LogWarning("Recreating HolographicCameraManager prefab since HolographicCameraManager script did not exist on original.");

                    GameObject.DestroyImmediate(SpectatorView.HolographicCameraManager.Instance);
                    CreateSpectatorViewRig(parent);
                }
                else
                {
                    if (hcm.HolographicCameraIP != SpectatorViewIP ||
                        hcm.LocalComputerIP != LocalComputerIP)
                    {
                        Debug.LogWarning("Recreating HolographicCameraManager prefab since IP's were incorrect on original.");

                        // IP's are wrong, recreate rig.
                        GameObject.DestroyImmediate(SpectatorView.HolographicCameraManager.Instance);
                        CreateSpectatorViewRig(parent);
                    }
                }
            }

            HolographicCameraManager.SetActive(true);
        }