Esempio n. 1
0
        public void Target(DPOverlayBase dpBase)
        {
            if (!dpBase.showToolbar)
            {
                return;
            }

            if (dpBase == activeDP)
            {
                return;
            }


            //Unsub from events
            if (activeDP != null)
            {
            }

            activeDP = dpBase;

            //Sub to events


            toolbarDP.alwaysInteract           = activeDP.alwaysInteract;
            toolbarDP.alwaysInteractBlockInput = activeDP.alwaysInteractBlockInput;

            pinIcon.SetActive(activeDP.showToolbarPin);
            settingsIcon.SetActive(activeDP.showToolbarSettings);


            toolbarDP.OrphanOverlay();
            activeDP.AddChildOverlay(toolbarDP);


            toolbarDP.RequestRendering(true);
        }
Esempio n. 2
0
        private void _showPopup(string phraseStart, PopupFacingDir dir, DPCameraOverlay dpParent, RectTransform element)
        {
            //Check to see if the user is still hovering on the same element or not
            if (_potentialPopupElement != element)
            {
                return;
            }

            //Debug.Log(offset);

            _popupShouldBeActive = true;


            title.SetText(LeanLocalization.GetTranslationText(phraseStart + "Title"));
            desc.SetText(LeanLocalization.GetTranslationText(phraseStart + "Desc"));

            title.ForceMeshUpdate();
            desc.ForceMeshUpdate();


            //Canvas.ForceUpdateCanvases();
            LayoutRebuilder.ForceRebuildLayoutImmediate(bg);
            bg.gameObject.SetActive(false);
            bg.gameObject.SetActive(true);

            //transform.parent.GetComponent<VerticalLayoutGroup>().enabled = false;
            //transform.parent.GetComponent<VerticalLayoutGroup>().enabled = true;

            //fitter.enabled = false;
            //fitter.enabled = true;


            //Figure out the right location:
            Vector3 spawnOffset;


            switch (dir)
            {
            case PopupFacingDir.Left:
                spawnOffset            = new Vector3(1, 0, 0);
                arrow.anchoredPosition = new Vector2(-123 - 5, ((bg.rect.height + bg.rect.position.y) / 2) + 5);
                arrow.localEulerAngles = new Vector3(0, 0, -90);

                break;

            default:
            case PopupFacingDir.Down:
                spawnOffset            = new Vector3(0, 0.08f, -0.01f);
                arrow.anchoredPosition = new Vector2(0, 0);
                arrow.localEulerAngles = new Vector3(0, 0, 0);

                break;


            case PopupFacingDir.Right:
                spawnOffset            = new Vector3(-1, 0, 0);
                arrow.anchoredPosition = new Vector2(123, ((bg.rect.height + bg.rect.position.y) / 2) + 5);
                arrow.localEulerAngles = new Vector3(0, 0, 90);

                break;

            case PopupFacingDir.TheBar:
                spawnOffset            = new Vector3(0, 0.1f, 0.06f);
                arrow.anchoredPosition = new Vector2(0, 0);
                arrow.localEulerAngles = new Vector3(0, 0, 0);

                break;
            }


            //Vector3 dpPos = dpParent.transform.position;


            Vector3 goodRot = new Vector3(0, dpParent.transform.eulerAngles.y, 0);


            dpParent.SetOtherTransformRelativeToElement(hoverDP.transform, element, spawnOffset);

            hoverDP.SetOverlayPositionWithCurrent(true, false);


            //hoverDP.SetOverlayPosition(goodPos, goodRot, true, false);
            hoverDP.TransitionOverlayOpacity(1f, 0.5f);


            hoverDP.RequestRendering(true);

            _popupIsActive = true;
        }
Esempio n. 3
0
        private IEnumerator UpdateInfo()
        {
            while (true)
            {
                while (!SteamVRManager.isConnected || !TheBarManager.isOpened)
                {
                    yield return(null);
                }

                while (!timeDP.overlay.shouldRender)
                {
                    yield return(new WaitForSeconds(fastUpdateRate));
                }


                //Current time:
                timeText.SetText(DateTime.Now.ToShortTimeString());



                ETrackedPropertyError error = ETrackedPropertyError.TrackedProp_Success;

                //Get battery lives
                float left  = OpenVR.System.GetFloatTrackedDeviceProperty(SteamVRManager.leftHandIndex, ETrackedDeviceProperty.Prop_DeviceBatteryPercentage_Float, ref error);
                float right = OpenVR.System.GetFloatTrackedDeviceProperty(SteamVRManager.rightHandIndex, ETrackedDeviceProperty.Prop_DeviceBatteryPercentage_Float, ref error);


                leftFill.fillAmount  = left;
                rightFill.fillAmount = right;

                string leftPercent;
                string rightPercent;

                if (left >= 99.9f)
                {
                    leftPercent = "Full";
                }
                else
                {
                    leftPercent = Mathf.RoundToInt(left * 100) + "%";
                }

                if (right >= 99.9f)
                {
                    rightPercent = "Full";
                }
                else
                {
                    rightPercent = Mathf.RoundToInt(right * 100) + "%";
                }


                perLeft.SetText(leftPercent);
                perRight.SetText(rightPercent);


                timeDP.RequestRendering();


                yield return(new WaitForSeconds(fastUpdateRate));
            }
        }
Esempio n. 4
0
        public void SetBlackoutOpacity(float opacity)
        {
            blackoutImage.color = new Color(0f, 0f, 0f, opacity);

            blackoutDP.RequestRendering(true);
        }