示例#1
0
 protected virtual void Reset()
 {
     for (var tr = transform; raycaster == null && tr != null; tr = tr.parent)
     {
         raycaster = tr.GetComponentInChildren <Pointer3DRaycaster>();
     }
 }
示例#2
0
    protected virtual void Reset()
    {
        for (var tr = transform; raycaster == null && tr != null; tr = tr.parent)
        {
            raycaster = tr.GetComponentInChildren <Pointer3DRaycaster>();
        }

        if (lineRenderer == null)
        {
            lineRenderer = GetComponentInChildren <LineRenderer>();
        }
        if (lineRenderer == null && raycaster != null)
        {
            lineRenderer = gameObject.AddComponent <LineRenderer>();
        }
        if (lineRenderer != null)
        {
#if UNITY_5_5_OR_NEWER
            lineRenderer.startWidth = 0.01f;
            lineRenderer.endWidth   = 0f;
#else
            lineRenderer.SetWidth(0.01f, 0f);
#endif
        }
    }
示例#3
0
        protected void CleanUpRaycaster(Pointer3DRaycaster raycaster)
        {
            raycaster.CleanUpRaycast();

            var hoverEventData = raycaster.HoverEventData;

            // hover event
            hoverEventData.pointerCurrentRaycast = default(RaycastResult);

            if (hoverEventData.pointerEnter != null)
            {
                HandlePointerExitAndEnter(hoverEventData, null);
            }

            // buttons event
            for (int i = 0, imax = raycaster.ButtonEventDataList.Count; i < imax; ++i)
            {
                var buttonEventData = raycaster.ButtonEventDataList[i];
                if (buttonEventData == null)
                {
                    continue;
                }

                buttonEventData.Reset();
                buttonEventData.pointerCurrentRaycast = default(RaycastResult);

                ProcessPressUp(buttonEventData);

                if (buttonEventData.pointerEnter != null)
                {
                    HandlePointerExitAndEnter(buttonEventData, null);
                }
            }
        }
示例#4
0
    protected virtual void Reset()
    {
        for (var tr = transform; raycaster == null && tr != null; tr = tr.parent)
        {
            raycaster = tr.GetComponentInChildren <Pointer3DRaycaster>(true);
        }

        reticleRenderer = GetComponentsInChildren <MeshRenderer>(true);
    }
示例#5
0
        public static void AddRaycaster(Pointer3DRaycaster raycaster)
        {
            if (raycaster == null)
            {
                return;
            }

            Initialize();
            raycasters.AddUnique(raycaster);
        }
示例#6
0
 protected virtual void Reset()
 {
     if (raycaster == null)
     {
         raycaster = GetComponent <Pointer3DRaycaster>();
     }
     if (raycaster == null)
     {
         raycaster = GetComponentInParent <Pointer3DRaycaster>();
     }
 }
示例#7
0
    /// <summary>
    /// 获取左右手检测
    /// </summary>
    /// <param name="role"></param>
    /// <returns></returns>
    public static Pointer3DRaycaster GetRaycsaterByHand(HandRole role)
    {
        Pointer3DRaycaster caster = null;

        for (int i = 0; i < _PosTracker.Length; i++)
        {
            if (_posTracker[i].viveRole.roleValue == (int)role)
            {
                caster = _posTracker[i].GetComponentInChildren <Pointer3DRaycaster>(true);
                if (caster != null)
                {
                    return(caster);
                }
            }
        }
        return(caster);
    }
示例#8
0
    //private static List<Vector3> pointsOnCurve = new List<Vector3>();
#if UNITY_EDITOR
    protected virtual void Reset()
    {
        if (raycaster == null)
        {
            raycaster = GetComponent <Pointer3DRaycaster>();
        }
        if (raycaster == null)
        {
            raycaster = GetComponentInParent <Pointer3DRaycaster>();
        }

        if (lineRenderer == null)
        {
            lineRenderer = GetComponentInChildren <LineRenderer>();
        }
        if (lineRenderer == null && raycaster != null)
        {
            lineRenderer = gameObject.AddComponent <LineRenderer>();
        }
        if (lineRenderer != null)
        {
            lineRenderer.SetWidth(0.01f, 0.01f);
        }
    }
 public VivePointerEventData(Pointer3DRaycaster ownerRaycaster, EventSystem eventSystem, HandRole hand, ControllerButton viveButton, InputButton mouseButton) : base(ownerRaycaster, eventSystem)
 {
     viveRole        = ViveRoleProperty.New(hand);
     this.viveButton = viveButton;
     button          = mouseButton;
 }
示例#10
0
 public static void RemoveRaycasters(Pointer3DRaycaster raycaster)
 {
     raycasters.Remove(raycaster);
 }
 public GameObject CurrObject;//当前物体
 private void Awake()
 {
     raycaster = this.GetComponent <Pointer3DRaycaster>();
 }
示例#12
0
 public SDKPointer3DEventData(Pointer3DRaycaster ownerRaycaster, EventSystem eventSystem, MicroLightHand Incontroller) : base(ownerRaycaster, eventSystem)
 {
     HandHandler     = Incontroller;
     mownerRaycaster = ownerRaycaster;
 }
 public VivePointerEventData(Pointer3DRaycaster ownerRaycaster, EventSystem eventSystem, HandRole hand, ControllerButton viveButton, InputButton mouseButton) : base(ownerRaycaster, eventSystem)
 {
     this.hand       = hand;
     this.viveButton = viveButton;
     button          = mouseButton;
 }