//------------------------------------------------- void Awake() { _instance = this; chaperoneInfoInitializedAction = ChaperoneInfo.InitializedAction(OnChaperoneInfoInitialized); pointerLineRenderer = GetComponentInChildren <LineRenderer>(); teleportPointerObject = pointerLineRenderer.gameObject; int tintColorID = Shader.PropertyToID("_TintColor"); fullTintAlpha = pointVisibleMaterial.GetColor(tintColorID).a; teleportArc = GetComponent <TeleportArc>(); teleportArc.traceLayerMask = traceLayerMask; loopingAudioMaxVolume = loopingAudioSource.volume; playAreaPreviewCorner.SetActive(false); playAreaPreviewSide.SetActive(false); float invalidReticleStartingScale = invalidReticleTransform.localScale.x; invalidReticleMinScale *= invalidReticleStartingScale; invalidReticleMaxScale *= invalidReticleStartingScale; visible = true; }
//------------------------------------------------- private void OnChaperoneInfoInitialized() { ChaperoneInfo chaperone = ChaperoneInfo.instance; if (chaperone.initialized && chaperone.roomscale) { //Set up the render model for the play area bounds if (playAreaPreviewTransform == null) { playAreaPreviewTransform = new GameObject("PlayAreaPreviewTransform").transform; playAreaPreviewTransform.parent = transform; Util.ResetTransform(playAreaPreviewTransform); playAreaPreviewCorner.SetActive(true); playAreaPreviewCorners = new Transform[4]; playAreaPreviewCorners[0] = playAreaPreviewCorner.transform; playAreaPreviewCorners[1] = Instantiate(playAreaPreviewCorners[0]); playAreaPreviewCorners[2] = Instantiate(playAreaPreviewCorners[0]); playAreaPreviewCorners[3] = Instantiate(playAreaPreviewCorners[0]); playAreaPreviewCorners[0].transform.parent = playAreaPreviewTransform; playAreaPreviewCorners[1].transform.parent = playAreaPreviewTransform; playAreaPreviewCorners[2].transform.parent = playAreaPreviewTransform; playAreaPreviewCorners[3].transform.parent = playAreaPreviewTransform; playAreaPreviewSide.SetActive(true); playAreaPreviewSides = new Transform[4]; playAreaPreviewSides[0] = playAreaPreviewSide.transform; playAreaPreviewSides[1] = Instantiate(playAreaPreviewSides[0]); playAreaPreviewSides[2] = Instantiate(playAreaPreviewSides[0]); playAreaPreviewSides[3] = Instantiate(playAreaPreviewSides[0]); playAreaPreviewSides[0].transform.parent = playAreaPreviewTransform; playAreaPreviewSides[1].transform.parent = playAreaPreviewTransform; playAreaPreviewSides[2].transform.parent = playAreaPreviewTransform; playAreaPreviewSides[3].transform.parent = playAreaPreviewTransform; } float x = chaperone.playAreaSizeX; float z = chaperone.playAreaSizeZ; playAreaPreviewSides[0].localPosition = new Vector3(0.0f, 0.0f, 0.5f * z - 0.25f); playAreaPreviewSides[1].localPosition = new Vector3(0.0f, 0.0f, -0.5f * z + 0.25f); playAreaPreviewSides[2].localPosition = new Vector3(0.5f * x - 0.25f, 0.0f, 0.0f); playAreaPreviewSides[3].localPosition = new Vector3(-0.5f * x + 0.25f, 0.0f, 0.0f); playAreaPreviewSides[0].localScale = new Vector3(x - 0.5f, 1.0f, 1.0f); playAreaPreviewSides[1].localScale = new Vector3(x - 0.5f, 1.0f, 1.0f); playAreaPreviewSides[2].localScale = new Vector3(z - 0.5f, 1.0f, 1.0f); playAreaPreviewSides[3].localScale = new Vector3(z - 0.5f, 1.0f, 1.0f); playAreaPreviewSides[0].localRotation = Quaternion.Euler(0.0f, 0.0f, 0.0f); playAreaPreviewSides[1].localRotation = Quaternion.Euler(0.0f, 180.0f, 0.0f); playAreaPreviewSides[2].localRotation = Quaternion.Euler(0.0f, 90.0f, 0.0f); playAreaPreviewSides[3].localRotation = Quaternion.Euler(0.0f, 270.0f, 0.0f); playAreaPreviewCorners[0].localPosition = new Vector3(0.5f * x - 0.25f, 0.0f, 0.5f * z - 0.25f); playAreaPreviewCorners[1].localPosition = new Vector3(0.5f * x - 0.25f, 0.0f, -0.5f * z + 0.25f); playAreaPreviewCorners[2].localPosition = new Vector3(-0.5f * x + 0.25f, 0.0f, -0.5f * z + 0.25f); playAreaPreviewCorners[3].localPosition = new Vector3(-0.5f * x + 0.25f, 0.0f, 0.5f * z - 0.25f); playAreaPreviewCorners[0].localRotation = Quaternion.Euler(0.0f, 0.0f, 0.0f); playAreaPreviewCorners[1].localRotation = Quaternion.Euler(0.0f, 90.0f, 0.0f); playAreaPreviewCorners[2].localRotation = Quaternion.Euler(0.0f, 180.0f, 0.0f); playAreaPreviewCorners[3].localRotation = Quaternion.Euler(0.0f, 270.0f, 0.0f); playAreaPreviewTransform.gameObject.SetActive(false); } }