static void GetCurrentTarget() { //we cache the current targets for each finger, useful for drag, non-hover for (int i = 0; i < currentTargets.Length; i++) { currentTargets[i] = null; for (int j = 0; j < recognizers.Count; j++) { UIGestureRecognizer r = recognizers[j]; if (i < InputHandling.PrimaryInputCount) { r.inputInsideTarget[i] = r.uiTransformNode.HitTest(InputHandling.inputs[i].InputPosition); if (r.inputInsideTarget[i]) { // Debug.Log(r + ":" + r.uiTransformNode.WorldDepth); if (currentTargets[i] == null || r.uiTransformNode.WorldDepth > currentTargets[i].uiTransformNode.WorldDepth) { currentTargets[i] = r; } } } else { r.inputInsideTarget[i] = false; } } } // Debug.Log(currentTargets[0]); //for desktop, we get the hover if (!InputHandling.AnyMouseHeld) { if (currentHover != currentTargets[0]) { if (currentHover != null) { currentHover.HoverExit(); } currentHover = currentTargets[0]; if (currentHover != null) { currentHover.lastHoverFrame = Time.frameCount; } if (currentHover != null) { currentHover.HoverEnter(); } } } else if (currentHover != null) { currentHover.HoverExit(); currentHover = null; } }
static void GetCurrentTarget(){ //we cache the current targets for each finger, useful for drag, non-hover for(int i=0; i<currentTargets.Length; i++){ currentTargets[i] = null; for(int j=0; j<recognizers.Count; j++){ UIGestureRecognizer r = recognizers[j]; if(i < InputHandling.PrimaryInputCount ){ r.inputInsideTarget[i] = r.uiTransformNode.HitTest(InputHandling.inputs[i].InputPosition); if(r.inputInsideTarget[i]){ // Debug.Log(r + ":" + r.uiTransformNode.WorldDepth); if( currentTargets[i] == null || r.uiTransformNode.WorldDepth > currentTargets[i].uiTransformNode.WorldDepth) { currentTargets[i] = r; } } } else{ r.inputInsideTarget[i] = false; } } } // Debug.Log(currentTargets[0]); //for desktop, we get the hover if(!InputHandling.AnyMouseHeld){ if(currentHover != currentTargets[0]){ if(currentHover != null){ currentHover.HoverExit(); } currentHover = currentTargets[0]; if(currentHover != null){ currentHover.lastHoverFrame = Time.frameCount; } if(currentHover != null){ currentHover.HoverEnter(); } } } else if(currentHover != null){ currentHover.HoverExit(); currentHover = null; } }