// Token: 0x060004BA RID: 1210 RVA: 0x000186A8 File Offset: 0x000168A8 private bool IsWithinRange(global::VRGIN.Visuals.GUIQuad quad) { bool flag = !this.Laser; bool result; if (flag) { result = false; } else { bool flag2 = quad.transform.parent == base.transform; if (flag2) { result = false; } else { global::UnityEngine.Vector3 vector = -quad.transform.forward; global::UnityEngine.Vector3 position = quad.transform.position; global::UnityEngine.Vector3 position2 = this.Laser.transform.position; global::UnityEngine.Vector3 forward = this.Laser.transform.forward; float num = -quad.transform.InverseTransformPoint(position2).z *quad.transform.localScale.magnitude; result = (num > 0f && num < this.GetRange(quad) && global::UnityEngine.Vector3.Dot(vector, forward) < 0f); } } return(result); }
// Token: 0x06000455 RID: 1109 RVA: 0x00015980 File Offset: 0x00013B80 public void AbandonGUI() { bool flag = this.Gui; if (flag) { this.timeAbandoned = global::UnityEngine.Time.unscaledTime; this.Gui.IsOwned = false; this.Gui.transform.SetParent(global::VRGIN.Core.VR.Camera.SteamCam.origin, true); this.Gui = null; } }
// Token: 0x06000454 RID: 1108 RVA: 0x000158C0 File Offset: 0x00013AC0 public void TakeGUI(global::VRGIN.Visuals.GUIQuad quad) { bool flag = quad && !this.Gui && !quad.IsOwned; if (flag) { this.Gui = quad; this.Gui.transform.parent = base.transform; this.Gui.transform.SetParent(base.transform, true); this.Gui.transform.localPosition = new global::UnityEngine.Vector3(0f, 0.05f, -0.06f); this.Gui.transform.localRotation = global::UnityEngine.Quaternion.Euler(90f, 0f, 0f); quad.IsOwned = true; } }
// Token: 0x06000232 RID: 562 RVA: 0x0000DFA0 File Offset: 0x0000C1A0 public static global::VRGIN.Visuals.GUIQuad Create(global::VRGIN.Core.IScreenGrabber source = null) { source = (source ?? global::VRGIN.Core.VR.GUI); global::VRGIN.Core.VRLog.Info("Create GUI", global::System.Array.Empty <object>()); global::VRGIN.Visuals.GUIQuad guiquad = global::UnityEngine.GameObject.CreatePrimitive(5).AddComponent <global::VRGIN.Visuals.GUIQuad>(); guiquad.name = "GUIQuad"; bool flag = source != global::VRGIN.Core.VR.GUI; if (flag) { guiquad.gameObject.SetActive(false); guiquad._Source = source; guiquad.gameObject.SetActive(true); } guiquad.UpdateGUI(); return(guiquad); }
// Token: 0x060002C4 RID: 708 RVA: 0x00010A74 File Offset: 0x0000EC74 public GuiScaler(global::VRGIN.Visuals.GUIQuad gui, global::UnityEngine.Transform left, global::UnityEngine.Transform right) { this._Gui = gui; this._Left = left; this._Right = right; this._StartLeft = new global::UnityEngine.Vector3?(left.position); this._StartRight = new global::UnityEngine.Vector3?(right.position); this._StartScale = new global::UnityEngine.Vector3?(this._Gui.transform.localScale); this._StartRotation = new global::UnityEngine.Quaternion?(this._Gui.transform.localRotation); this._StartPosition = new global::UnityEngine.Vector3?(this._Gui.transform.position); this._StartRotationController = this.GetAverageRotation(); float num = global::UnityEngine.Vector3.Distance(this._StartLeft.Value, this._StartRight.Value); global::UnityEngine.Vector3 vector = this._StartRight.Value - this._StartLeft.Value; global::UnityEngine.Vector3 vector2 = this._StartLeft.Value + vector * 0.5f; this._OffsetFromCenter = new global::UnityEngine.Vector3?(this._Gui.transform.position - vector2); }
// Token: 0x060004BB RID: 1211 RVA: 0x0001878C File Offset: 0x0001698C private bool Raycast(global::VRGIN.Visuals.GUIQuad quad, out global::UnityEngine.RaycastHit hit) { global::UnityEngine.Vector3 position = this.Laser.transform.position; global::UnityEngine.Vector3 forward = this.Laser.transform.forward; global::UnityEngine.Collider component = quad.GetComponent <global::UnityEngine.Collider>(); bool flag = component; bool result; if (flag) { global::UnityEngine.Ray ray; ray..ctor(position, forward); result = component.Raycast(ray, ref hit, this.GetRange(quad)); } else { hit = default(global::UnityEngine.RaycastHit); result = false; } return(result); }
// Token: 0x06000230 RID: 560 RVA: 0x0000DF82 File Offset: 0x0000C182 internal static void Unregister(global::VRGIN.Visuals.GUIQuad quad) { global::VRGIN.Visuals.GUIQuadRegistry._Quads.Remove(quad); }
// Token: 0x0600022F RID: 559 RVA: 0x0000DF73 File Offset: 0x0000C173 internal static void Register(global::VRGIN.Visuals.GUIQuad quad) { global::VRGIN.Visuals.GUIQuadRegistry._Quads.Add(quad); }
// Token: 0x060004BD RID: 1213 RVA: 0x00018974 File Offset: 0x00016B74 private bool IsOtherWorkingOn(global::VRGIN.Visuals.GUIQuad target) { return(this._Other && this._Other.LaserVisible && this._Other._Target == target && this._Other.IsPressing); }
// Token: 0x060004B9 RID: 1209 RVA: 0x00018660 File Offset: 0x00016860 private float GetRange(global::VRGIN.Visuals.GUIQuad quad) { return(global::UnityEngine.Mathf.Clamp(quad.transform.localScale.magnitude * 0.25f, 0.25f, 1.25f) * global::VRGIN.Core.VR.Settings.IPDScale); }
// Token: 0x060004B8 RID: 1208 RVA: 0x00018638 File Offset: 0x00016838 private bool IsLaserable(global::VRGIN.Visuals.GUIQuad quad) { global::UnityEngine.RaycastHit raycastHit; return(this.IsWithinRange(quad) && this.Raycast(quad, out raycastHit)); }