Example #1
0
    //-------------------------------------------------
    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;
    }
Example #2
0
    //-------------------------------------------------
    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);
        }
    }