예제 #1
0
        // 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);
        }
예제 #2
0
        // 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;
            }
        }
예제 #3
0
        // 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;
            }
        }
예제 #4
0
        // 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);
        }
예제 #5
0
        // 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);
        }
예제 #6
0
        // 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);
        }
예제 #7
0
 // 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);
 }
예제 #8
0
 // 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);
 }
예제 #9
0
 // 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);
 }
예제 #10
0
 // 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);
 }
예제 #11
0
 // 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));
 }