// 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); } }
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}"); } }