public override void CounterInit()
        {
            try
            {
                _logger.Debug("Attempting to Initialize FPS Counter");

                _targetFramerate = (int)XRDevice.refreshRate;
                _logger.Debug($"Target framerate = {_targetFramerate}");

                _counterText             = CanvasUtility.CreateTextFromSettings(Settings);
                _counterText.color       = Color.white;
                _counterText.fontSize    = 2.5f;
                _counterText.lineSpacing = -50f;

                if (!_config.ShowRing)
                {
                    return;
                }

                var canvas = CanvasUtility.GetCanvasFromID(Settings.CanvasID);
                if (canvas == null)
                {
                    return;
                }

                _ringImage = _fpsCounterUtils.CreateRing(canvas);
                _ringImage.rectTransform.anchoredPosition = _counterText.rectTransform.anchoredPosition;
                _ringImage.transform.localScale           = _ringSize / 10;
            }
            catch (Exception ex)
            {
                _logger.Error("FPS Counter Done");
                _logger.Error(ex);
            }
        }
Esempio n. 2
0
        public void Initialize()
        {
            try
            {
                _logger.Debug("Attempting to Initialize FPS Counter");

                _targetFramerate = (int)XRDevice.refreshRate;
                _logger.Debug($"Target framerate = {_targetFramerate}");

                var gameObject = new GameObject("FPS Counter");

                var canvas = gameObject.AddComponent <Canvas>();
                canvas.renderMode = RenderMode.WorldSpace;
                gameObject.transform.localScale = Vector3.one / 10;
                gameObject.transform.position   = new Vector3(0, 3.5f, 8f);
                gameObject.transform.rotation   = Quaternion.identity;
                gameObject.AddComponent <CurvedCanvasSettings>().SetRadius(0f);

                var canvasTransform = canvas.transform as RectTransform;

                _counter             = BeatSaberUI.CreateText(canvasTransform, string.Empty, Vector3.zero);
                _counter.alignment   = TextAlignmentOptions.Center;
                _counter.fontSize    = 2.5f;
                _counter.color       = Color.white;
                _counter.lineSpacing = -50f;
                _counter.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 2f);
                _counter.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 2f);
                _counter.enableWordWrapping = false;
                _counter.overflowMode       = TextOverflowModes.Overflow;

                if (!_config.ShowRing)
                {
                    return;
                }

                _image = _fpsCounterUtils.CreateRing(canvas);
                var imageTransform = _image.rectTransform;
                imageTransform.anchoredPosition = _counter.rectTransform.anchoredPosition;
                imageTransform.localScale      *= 0.1f;
            }
            catch (Exception ex)
            {
                _logger.Error("FPS Counter Done");
                _logger.Error(ex);
            }
        }