static public int Raycast(IntPtr l) { try { #if DEBUG var method = System.Reflection.MethodBase.GetCurrentMethod(); string methodName = GetMethodName(method); #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.BeginSample(methodName); #else Profiler.BeginSample(methodName); #endif #endif UnityEngine.UI.Graphic self = (UnityEngine.UI.Graphic)checkSelf(l); UnityEngine.Vector2 a1; checkType(l, 2, out a1); UnityEngine.Camera a2; checkType(l, 3, out a2); var ret = self.Raycast(a1, a2); pushValue(l, true); pushValue(l, ret); return(2); } catch (Exception e) { return(error(l, e)); } #if DEBUG finally { #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.EndSample(); #else Profiler.EndSample(); #endif } #endif }
private static void Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, List <Graphic> results) { IList <Graphic> graphicsForCanvas = GraphicRegistry.GetGraphicsForCanvas(canvas); for (int i = 0; i < graphicsForCanvas.Count; i++) { Graphic graphic = graphicsForCanvas[i]; if (!graphic.canvasRenderer.cull) { if (graphic.depth != -1 && graphic.raycastTarget) { if (RectTransformUtility.RectangleContainsScreenPoint(graphic.rectTransform, pointerPosition, eventCamera)) { if (graphic.Raycast(pointerPosition, eventCamera)) { GraphicRaycaster.s_SortedGraphics.Add(graphic); } } } } } GraphicRaycaster.s_SortedGraphics.Sort((Graphic g1, Graphic g2) => g2.depth.CompareTo(g1.depth)); for (int j = 0; j < GraphicRaycaster.s_SortedGraphics.Count; j++) { results.Add(GraphicRaycaster.s_SortedGraphics[j]); } GraphicRaycaster.s_SortedGraphics.Clear(); }
private static void Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, IList <Graphic> foundGraphics, List <Graphic> results) { int count = foundGraphics.Count; for (int i = 0; i < count; i++) { Graphic graphic = foundGraphics[i]; if (graphic.depth != -1 && graphic.raycastTarget && !graphic.canvasRenderer.cull) { if (RectTransformUtility.RectangleContainsScreenPoint(graphic.rectTransform, pointerPosition, eventCamera)) { if (!(eventCamera != null) || eventCamera.WorldToScreenPoint(graphic.rectTransform.position).z <= eventCamera.farClipPlane) { if (graphic.Raycast(pointerPosition, eventCamera)) { GraphicRaycaster.s_SortedGraphics.Add(graphic); } } } } } GraphicRaycaster.s_SortedGraphics.Sort((Graphic g1, Graphic g2) => g2.depth.CompareTo(g1.depth)); count = GraphicRaycaster.s_SortedGraphics.Count; for (int j = 0; j < count; j++) { results.Add(GraphicRaycaster.s_SortedGraphics[j]); } GraphicRaycaster.s_SortedGraphics.Clear(); }
private static void Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, List <GameObject> results) { // Necessary for the event system var foundGraphics = GraphicRegistry.GetGraphicsForCanvas(canvas); s_SortedGraphics.Clear(); for (int i = 0; i < foundGraphics.Count; ++i) { Graphic graphic = foundGraphics[i]; // -1 means it hasn't been processed by the canvas, which means it isn't actually drawn if (graphic.depth == -1) { continue; } if (!RectTransformUtility.PointInRectangle(pointerPosition, graphic.rectTransform, eventCamera)) { continue; } if (graphic.Raycast(pointerPosition, eventCamera)) { s_SortedGraphics.Add(graphic); } } s_SortedGraphics.Sort((g1, g2) => g2.depth.CompareTo(g1.depth)); for (int i = 0; i < s_SortedGraphics.Count; ++i) { results.Add(s_SortedGraphics[i].gameObject); } }
static int Raycast(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 3); UnityEngine.UI.Graphic obj = (UnityEngine.UI.Graphic)LuaScriptMgr.GetUnityObjectSelf(L, 1, "UnityEngine.UI.Graphic"); Vector2 arg0 = LuaScriptMgr.GetVector2(L, 2); Camera arg1 = (Camera)LuaScriptMgr.GetUnityObject(L, 3, typeof(Camera)); bool o = obj.Raycast(arg0, arg1); LuaScriptMgr.Push(L, o); return(1); }
static int Raycast(IntPtr L) { L.ChkArgsCount(3); UnityEngine.UI.Graphic obj = (UnityEngine.UI.Graphic)L.ChkUnityObjectSelf(1, "UnityEngine.UI.Graphic"); var arg0 = L.ToVector2(2); var arg1 = L.ToComponent(3, typeof(UnityEngine.Camera)) as UnityEngine.Camera; bool o = obj.Raycast(arg0, arg1); L.PushBoolean(o); return(1); }
static public int Raycast(IntPtr l) { try { UnityEngine.UI.Graphic self = (UnityEngine.UI.Graphic)checkSelf(l); UnityEngine.Vector2 a1; checkType(l, 2, out a1); UnityEngine.Camera a2; checkType(l, 3, out a2); var ret = self.Raycast(a1, a2); pushValue(l, ret); return(1); } catch (Exception e) { return(error(l, e)); } }
static int QPYX_Raycast_YXQP(IntPtr L_YXQP) { try { ToLua.CheckArgsCount(L_YXQP, 3); UnityEngine.UI.Graphic QPYX_obj_YXQP = (UnityEngine.UI.Graphic)ToLua.CheckObject <UnityEngine.UI.Graphic>(L_YXQP, 1); UnityEngine.Vector2 QPYX_arg0_YXQP = ToLua.ToVector2(L_YXQP, 2); UnityEngine.Camera QPYX_arg1_YXQP = (UnityEngine.Camera)ToLua.CheckObject(L_YXQP, 3, typeof(UnityEngine.Camera)); bool QPYX_o_YXQP = QPYX_obj_YXQP.Raycast(QPYX_arg0_YXQP, QPYX_arg1_YXQP); LuaDLL.lua_pushboolean(L_YXQP, QPYX_o_YXQP); return(1); } catch (Exception e_YXQP) { return(LuaDLL.toluaL_exception(L_YXQP, e_YXQP)); } }
private static void Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, IList <Graphic> foundGraphics, List <Graphic> results) { // Debug.Log("ttt" + pointerPoision + ":::" + camera); // Necessary for the event system int totalCount = foundGraphics.Count; for (int i = 0; i < totalCount; ++i) { Graphic graphic = foundGraphics[i]; // -1 means it hasn't been processed by the canvas, which means it isn't actually drawn if (graphic.depth == -1 || !graphic.raycastTarget || graphic.canvasRenderer.cull) { continue; } //判断一个点是否在一个矩形内 if (!RectTransformUtility.RectangleContainsScreenPoint(graphic.rectTransform, pointerPosition, eventCamera)) { continue; } if (eventCamera != null && eventCamera.WorldToScreenPoint(graphic.rectTransform.position).z > eventCamera.farClipPlane) { continue; } if (graphic.Raycast(pointerPosition, eventCamera)) { s_SortedGraphics.Add(graphic); } } s_SortedGraphics.Sort((g1, g2) => g2.depth.CompareTo(g1.depth)); // StringBuilder cast = new StringBuilder(); totalCount = s_SortedGraphics.Count; for (int i = 0; i < totalCount; ++i) { results.Add(s_SortedGraphics[i]); } // Debug.Log (cast.ToString()); s_SortedGraphics.Clear(); }
private static void Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, IList <Graphic> foundGraphics, List <Graphic> results) { // Necessary for the event system int totalCount = foundGraphics.Count; for (int i = 0; i < totalCount; ++i) { Graphic graphic = foundGraphics[i]; // -1 means it hasn't been processed by the canvas, which means it isn't actually drawn // depth 为 -1 说明没有被 canvas 处理(未被绘制) // raycastTarget 为 false 说明当前 graphic 不需要被射线检测 // graphic.canvasRenderer.cull 为 true,忽略当前 graphic 的 CanvasRender 渲染的物体 if (graphic.depth == -1 || !graphic.raycastTarget || graphic.canvasRenderer.cull) { continue; } // pointer位置不在graphic中 // 从指定的 eventCamera 计算 pointerPosition 是否在 graphic 的 Rectangle 区域内 if (!RectTransformUtility.RectangleContainsScreenPoint(graphic.rectTransform, pointerPosition, eventCamera)) { continue; } // graph不在eventCamera的裁剪空间中 if (eventCamera != null && eventCamera.WorldToScreenPoint(graphic.rectTransform.position).z > eventCamera.farClipPlane) { continue; } // 执行射线检测 if (graphic.Raycast(pointerPosition, eventCamera)) { s_SortedGraphics.Add(graphic); } } s_SortedGraphics.Sort((g1, g2) => g2.depth.CompareTo(g1.depth)); totalCount = s_SortedGraphics.Count; for (int i = 0; i < totalCount; ++i) { results.Add(s_SortedGraphics[i]); } s_SortedGraphics.Clear(); }
static int Raycast(IntPtr L) { try { ToLua.CheckArgsCount(L, 3); UnityEngine.UI.Graphic obj = (UnityEngine.UI.Graphic)ToLua.CheckObject <UnityEngine.UI.Graphic>(L, 1); UnityEngine.Vector2 arg0 = ToLua.ToVector2(L, 2); UnityEngine.Camera arg1 = (UnityEngine.Camera)ToLua.CheckObject(L, 3, typeof(UnityEngine.Camera)); bool o = obj.Raycast(arg0, arg1); LuaDLL.lua_pushboolean(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static public int Raycast(IntPtr l) { try{ UnityEngine.UI.Graphic self = (UnityEngine.UI.Graphic)checkSelf(l); UnityEngine.Vector2 a1; checkType(l, 2, out a1); UnityEngine.Camera a2; checkType(l, 3, out a2); System.Boolean ret = self.Raycast(a1, a2); pushValue(l, ret); return(1); } catch (Exception e) { LuaDLL.luaL_error(l, e.ToString()); return(0); } }
private static void Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, List <Graphic> results) { // Debug.Log("ttt" + pointerPoision + ":::" + camera); // Necessary for the event system var foundGraphics = GraphicRegistry.GetGraphicsForCanvas(canvas); for (int i = 0; i < foundGraphics.Count; ++i) { Graphic graphic = foundGraphics[i]; if (graphic.canvasRenderer.cull) { continue; } // -1 means it hasn't been processed by the canvas, which means it isn't actually drawn if (graphic.depth == -1 || !graphic.raycastTarget) { continue; } if (!RectTransformUtility.RectangleContainsScreenPoint(graphic.rectTransform, pointerPosition, eventCamera)) { continue; } if (graphic.Raycast(pointerPosition, eventCamera)) { s_SortedGraphics.Add(graphic); } } s_SortedGraphics.Sort((g1, g2) => g2.depth.CompareTo(g1.depth)); // StringBuilder cast = new StringBuilder(); for (int i = 0; i < s_SortedGraphics.Count; ++i) { results.Add(s_SortedGraphics[i]); } // Debug.Log (cast.ToString()); s_SortedGraphics.Clear(); }
static int Raycast(IntPtr L) { #if UNITY_EDITOR ToluaProfiler.AddCallRecord("UnityEngine.UI.Graphic.Raycast"); #endif try { ToLua.CheckArgsCount(L, 3); UnityEngine.UI.Graphic obj = (UnityEngine.UI.Graphic)ToLua.CheckObject <UnityEngine.UI.Graphic>(L, 1); UnityEngine.Vector2 arg0 = ToLua.ToVector2(L, 2); UnityEngine.Camera arg1 = (UnityEngine.Camera)ToLua.CheckObject(L, 3, typeof(UnityEngine.Camera)); bool o = obj.Raycast(arg0, arg1); LuaDLL.lua_pushboolean(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
private static void Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, List <Graphic> results) { IList <Graphic> graphicsForCanvas = GraphicRegistry.GetGraphicsForCanvas(canvas); for (int index = 0; index < graphicsForCanvas.Count; ++index) { Graphic graphic = graphicsForCanvas[index]; if (graphic.depth != -1 && graphic.raycastTarget && (RectTransformUtility.RectangleContainsScreenPoint(graphic.rectTransform, pointerPosition, eventCamera) && graphic.Raycast(pointerPosition, eventCamera))) { GraphicRaycaster.s_SortedGraphics.Add(graphic); } } GraphicRaycaster.s_SortedGraphics.Sort((Comparison <Graphic>)((g1, g2) => g2.depth.CompareTo(g1.depth))); for (int index = 0; index < GraphicRaycaster.s_SortedGraphics.Count; ++index) { results.Add(GraphicRaycaster.s_SortedGraphics[index]); } GraphicRaycaster.s_SortedGraphics.Clear(); }
private static void Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, List <Graphic> results) { IList <Graphic> graphicsForCanvas = GraphicRegistry.GetGraphicsForCanvas(canvas); s_SortedGraphics.Clear(); for (int i = 0; i < graphicsForCanvas.Count; i++) { Graphic item = graphicsForCanvas[i]; if (((item.depth != -1) && item.raycastTarget) && (RectTransformUtility.RectangleContainsScreenPoint(item.rectTransform, pointerPosition, eventCamera) && item.Raycast(pointerPosition, eventCamera))) { s_SortedGraphics.Add(item); } } if (< > f__am$cache6 == null) {