Exemplo n.º 1
0
        // Updates the watch pos and rot
        private void UpdateWatchTransform(YUR_Settings settings)
        {
            try
            {
                if (!(LeftHandAnchor is null) && !(RightHandAnchor is null))
                {
                    switch (settings.HandBeingUsed)
                    {
                    case HandState.Left:
                        m_watchpos   = LeftHandAnchor.position;
                        m_watcheuler = LeftHandAnchor.eulerAngles;
                        m_watch.transform.localPosition    = settings.LeftPositionOffset;
                        m_watch.transform.localEulerAngles = settings.LeftEulerOffset;
                        m_watch.transform.localScale       = new Vector3(-m_watchscale.x, m_watchscale.y, -m_watchscale.z);
                        break;

                    case HandState.Right:
                        m_watchpos   = RightHandAnchor.position;
                        m_watcheuler = RightHandAnchor.eulerAngles;
                        m_watch.transform.localPosition    = settings.RightPositionOffset;
                        m_watch.transform.localEulerAngles = settings.RightEulerOffset;
                        m_watch.transform.localScale       = new Vector3(-m_watchscale.x, -m_watchscale.y, -m_watchscale.z);
                        break;

                    default:
                        m_watchpos   = Vector3.zero;
                        m_watcheuler = Vector3.zero;
                        m_watch.transform.localScale = m_watchscale;
                        break;
                    }

                    m_watchContainer.transform.position    = m_watchpos;
                    m_watchContainer.transform.eulerAngles = m_watcheuler;
                }
            }
            catch (MissingReferenceException e)
            {
                YUR_Manager.Instance.Log(e.Message);
                gameObject.SetActive(false);
            }
        }
Exemplo n.º 2
0
        private void OnEnable()
        {
            try
            {
                YUR_Settings settings = YUR_Manager.Instance.YURSettings;

                switch (shaderType)
                {
                case ShaderOverrideType.WatchAndTile:
                    if (settings.WatchAndTileShaderOverride != null && m_rend != null)
                    {
                        m_rend.material.shader = settings.WatchAndTileShaderOverride;
                    }
                    break;

                case ShaderOverrideType.TMP:
                    if (settings.TmpShaderOverride != null && m_text != null)
                    {
                        m_text.fontMaterial.shader = settings.TmpShaderOverride;
                    }
                    break;

                case ShaderOverrideType.Image:
                    if (settings.ImageShaderOverride != null && m_image != null)
                    {
                        m_image.material.shader = settings.ImageShaderOverride;
                    }
                    break;

                default:
                    break;
                }
            } catch (Exception e)
            {
                YUR_Manager.Instance.Log($"Could not set shader because {e.Message}");
            }
        }