Base class for any RayCaster.

Inheritance: UIBehaviour
Exemple #1
0
        private static int ModuleComparer(BaseRaycaster lhs, BaseRaycaster rhs)
        {
            var lCanvas = lhs.GetComponent <Canvas>();
            var rCanvas = rhs.GetComponent <Canvas>();

            if (lCanvas.renderMode != rCanvas.renderMode)
            {
                if (lCanvas.renderMode == RenderMode.ScreenSpaceOverlay && rCanvas.renderMode != RenderMode.ScreenSpaceOverlay)
                {
                    return(-1);
                }
                else if (lCanvas.renderMode != RenderMode.ScreenSpaceOverlay && rCanvas.renderMode == RenderMode.ScreenSpaceOverlay)
                {
                    return(1);
                }
            }

            if (lCanvas.sortingLayerID != rCanvas.sortingLayerID)
            {
                var rid = SortingLayer.GetLayerValueFromID(rCanvas.sortingLayerID);
                var lid = SortingLayer.GetLayerValueFromID(lCanvas.sortingLayerID);
                // Uses the layer value to properly compare the relative order of the layers.
                return(rid.CompareTo(lid));
            }
            if (rCanvas.sortingOrder != lCanvas.sortingOrder)
            {
                return(rCanvas.sortingOrder.CompareTo(lCanvas.sortingOrder));
            }
            return(lCanvas.planeDistance.CompareTo(rCanvas.planeDistance));
        }
Exemple #2
0
 static public int get_sortOrderPriority(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.EventSystems.BaseRaycaster self = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
         pushValue(l, true);
         pushValue(l, self.sortOrderPriority);
         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
 }
		public void Init() {
			
			if (this.canvas != null && this.windowObject != null) {
				
				var window = this.windowObject.GetWindow();
				if (window == null) return;
				
				this.canvas.overrideSorting = true;
				this.canvas.sortingLayerName = window.GetSortingLayerName();
				this.canvas.sortingOrder = window.GetSortingOrder() + this.orderDelta;

				if (this.raycasterSource == null) {

					this.raycasterSource = (window as LayoutWindowType).layout.GetLayoutInstance().GetComponent<BaseRaycaster>();

				}

			}
			
			if (this.raycaster != null && this.raycasterSource != null) {
				
				var graphicRaycaster = this.raycaster as GraphicRaycaster;
				var graphicRaycasterSource = this.raycasterSource as GraphicRaycaster;
				if (graphicRaycaster != null && graphicRaycasterSource != null) {
					
					graphicRaycaster.blockingObjects = graphicRaycasterSource.blockingObjects;
					graphicRaycaster.ignoreReversedGraphics = graphicRaycasterSource.ignoreReversedGraphics;
					
				}
				
			}
			
		}
 public static void AddRaycaster(BaseRaycaster baseRaycaster)
 {
     if (!s_Raycasters.Contains(baseRaycaster))
     {
         s_Raycasters.Add(baseRaycaster);
     }
 }
Exemple #5
0
        public static void AddRaycaster(BaseRaycaster baseRaycaster)
        {
            if (s_Raycasters.Contains(baseRaycaster))
                return;

            s_Raycasters.Add(baseRaycaster);
        }
 public static void RemoveRaycasters(BaseRaycaster baseRaycaster)
 {
     if (s_Raycasters.Contains(baseRaycaster))
     {
         s_Raycasters.Remove(baseRaycaster);
     }
 }
 public static void AddRaycaster(BaseRaycaster baseRaycaster)
 {
     if (!RaycasterManager.s_Raycasters.Contains(baseRaycaster))
     {
         RaycasterManager.s_Raycasters.Add(baseRaycaster);
     }
 }
 public static void RemoveRaycasters(BaseRaycaster baseRaycaster)
 {
     if (RaycasterManager.s_Raycasters.Contains(baseRaycaster))
     {
         RaycasterManager.s_Raycasters.Remove(baseRaycaster);
     }
 }
 public static void AddRaycaster(BaseRaycaster baseRaycaster)
 {
     if (!s_Raycasters.Contains(baseRaycaster))
     {
         s_Raycasters.Add(baseRaycaster);
     }
 }
 public static void RemoveRaycasters(BaseRaycaster baseRaycaster)
 {
     if (s_Raycasters.Contains(baseRaycaster))
     {
         s_Raycasters.Remove(baseRaycaster);
     }
 }
Exemple #11
0
 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.EventSystems.BaseRaycaster    self = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
         UnityEngine.EventSystems.PointerEventData a1;
         checkType(l, 2, out a1);
         System.Collections.Generic.List <UnityEngine.EventSystems.RaycastResult> a2;
         checkType(l, 3, out a2);
         self.Raycast(a1, a2);
         pushValue(l, true);
         return(1);
     }
     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
 }
Exemple #12
0
 public static void RemoveRaycasters(BaseRaycaster baseRaycaster)
 {
     if (!s_Raycasters.Contains(baseRaycaster))
     {
         return;
     }
     s_Raycasters.Remove(baseRaycaster);
 }
Exemple #13
0
        public static void AddRaycaster(BaseRaycaster baseRaycaster)
        {
            if (s_Raycasters.Contains(baseRaycaster))
            {
                return;
            }

            s_Raycasters.Add(baseRaycaster);
        }
Exemple #14
0
 static public int get_eventCamera(IntPtr l)
 {
     try {
         UnityEngine.EventSystems.BaseRaycaster self = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
         pushValue(l, self.eventCamera);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Exemple #15
0
 static public int get_renderOrderPriority(IntPtr l)
 {
     try {
         UnityEngine.EventSystems.BaseRaycaster self = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
         pushValue(l, self.renderOrderPriority);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int get_sortOrderPriority(IntPtr l)
 {
     try {
         UnityEngine.EventSystems.BaseRaycaster self = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
         pushValue(l, self.sortOrderPriority);
         return(1);
     }
     catch (Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return(0);
     }
 }
 static new public int ToString(IntPtr l)
 {
     try {
         UnityEngine.EventSystems.BaseRaycaster self = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
         var ret = self.ToString();
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Exemple #18
0
 public void Clear()
 {
     this.gameObject     = null;
     this.module         = null;
     this.distance       = 0f;
     this.index          = 0f;
     this.depth          = 0;
     this.sortingLayer   = 0;
     this.sortingOrder   = 0;
     this.worldNormal    = Vector3.up;
     this.worldPosition  = Vector3.zero;
     this.screenPosition = Vector2.zero;
 }
 /// <summary>
 /// <para>Reset the result.</para>
 /// </summary>
 public void Clear()
 {
     this.gameObject = null;
     this.module = null;
     this.distance = 0f;
     this.index = 0f;
     this.depth = 0;
     this.sortingLayer = 0;
     this.sortingOrder = 0;
     this.worldNormal = Vector3.up;
     this.worldPosition = Vector3.zero;
     this.screenPosition = Vector2.zero;
 }
        public void RaycastAll(PointerEventData eventData, List <RaycastResult> raycastResults)
        {
            raycastResults.Clear();
            List <BaseRaycaster> raycasters = RaycasterManager.GetRaycasters();

            for (int index = 0; index < raycasters.Count; ++index)
            {
                BaseRaycaster baseRaycaster = raycasters[index];
                if (!((UnityEngine.Object)baseRaycaster == (UnityEngine.Object)null) && baseRaycaster.IsActive())
                {
                    baseRaycaster.Raycast(eventData, raycastResults);
                }
            }
            raycastResults.Sort(EventSystem.s_RaycastComparer);
        }
Exemple #21
0
 static public int Raycast(IntPtr l)
 {
     try {
         UnityEngine.EventSystems.BaseRaycaster    self = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
         UnityEngine.EventSystems.PointerEventData a1;
         checkType(l, 2, out a1);
         System.Collections.Generic.List <UnityEngine.EventSystems.RaycastResult> a2;
         checkType(l, 3, out a2);
         self.Raycast(a1, a2);
         return(0);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Exemple #22
0
        public void RaycastAll(PointerEventData eventData, List <RaycastResult> raycastResults)
        {
            raycastResults.Clear();
            List <BaseRaycaster> raycasters = RaycasterManager.GetRaycasters();

            for (int i = 0; i < raycasters.Count; i++)
            {
                BaseRaycaster baseRaycaster = raycasters[i];
                if (!(baseRaycaster == null) && baseRaycaster.IsActive())
                {
                    baseRaycaster.Raycast(eventData, raycastResults);
                }
            }
            raycastResults.Sort(EventSystem.s_RaycastComparer);
        }
Exemple #23
0
 static int ToString(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         UnityEngine.EventSystems.BaseRaycaster obj = (UnityEngine.EventSystems.BaseRaycaster)ToLua.CheckObject(L, 1, typeof(UnityEngine.EventSystems.BaseRaycaster));
         string o = obj.ToString();
         LuaDLL.lua_pushstring(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Exemple #24
0
 static public int Raycast(IntPtr l)
 {
     try{
         UnityEngine.EventSystems.BaseRaycaster    self = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
         UnityEngine.EventSystems.PointerEventData a1;
         checkType(l, 2, out a1);
         List <UnityEngine.EventSystems.RaycastResult> a2;
         checkType(l, 3, out a2);
         self.Raycast(a1, a2);
         return(0);
     }
     catch (Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return(0);
     }
 }
Exemple #25
0
 static int Raycast(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         UnityEngine.EventSystems.BaseRaycaster    obj  = (UnityEngine.EventSystems.BaseRaycaster)ToLua.CheckObject(L, 1, typeof(UnityEngine.EventSystems.BaseRaycaster));
         UnityEngine.EventSystems.PointerEventData arg0 = (UnityEngine.EventSystems.PointerEventData)ToLua.CheckObject(L, 2, typeof(UnityEngine.EventSystems.PointerEventData));
         System.Collections.Generic.List <UnityEngine.EventSystems.RaycastResult> arg1 = (System.Collections.Generic.List <UnityEngine.EventSystems.RaycastResult>)ToLua.CheckObject(L, 3, typeof(System.Collections.Generic.List <UnityEngine.EventSystems.RaycastResult>));
         obj.Raycast(arg0, arg1);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Exemple #26
0
    static int get_eventCamera(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.EventSystems.BaseRaycaster obj = (UnityEngine.EventSystems.BaseRaycaster)o;
            UnityEngine.Camera ret = obj.eventCamera;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index eventCamera on a nil value" : e.Message));
        }
    }
Exemple #27
0
    static int get_renderOrderPriority(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.EventSystems.BaseRaycaster obj = (UnityEngine.EventSystems.BaseRaycaster)o;
            int ret = obj.renderOrderPriority;
            LuaDLL.lua_pushinteger(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index renderOrderPriority on a nil value" : e.Message));
        }
    }
Exemple #28
0
    static int get_module(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.EventSystems.RaycastResult obj = (UnityEngine.EventSystems.RaycastResult)o;
            UnityEngine.EventSystems.BaseRaycaster ret = obj.module;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index module on a nil value"));
        }
    }
Exemple #29
0
    static int set_module(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.EventSystems.RaycastResult obj  = (UnityEngine.EventSystems.RaycastResult)o;
            UnityEngine.EventSystems.BaseRaycaster arg0 = (UnityEngine.EventSystems.BaseRaycaster)ToLua.CheckObject <UnityEngine.EventSystems.BaseRaycaster>(L, 2);
            obj.module = arg0;
            ToLua.SetBack(L, 1, obj);
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index module on a nil value"));
        }
    }
Exemple #30
0
 protected override void OnCanvasHierarchyChanged()
 {
     base.OnCanvasHierarchyChanged();
     m_RootRaycaster = null;
 }
Exemple #31
0
 protected override void OnTransformParentChanged()
 {
     base.OnTransformParentChanged();
     m_RootRaycaster = null;
 }
Exemple #32
0
 static public int get_renderOrderPriority(IntPtr l)
 {
     UnityEngine.EventSystems.BaseRaycaster o = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
     pushValue(l, o.renderOrderPriority);
     return(1);
 }
Exemple #33
0
 static public int get_eventCamera(IntPtr l)
 {
     UnityEngine.EventSystems.BaseRaycaster o = (UnityEngine.EventSystems.BaseRaycaster)checkSelf(l);
     pushValue(l, o.eventCamera);
     return(1);
 }
 public static void RemoveRaycasters(BaseRaycaster baseRaycaster)
 {
   if (!RaycasterManager.s_Raycasters.Contains(baseRaycaster))
     return;
   RaycasterManager.s_Raycasters.Remove(baseRaycaster);
 }
 public static void AddRaycaster(BaseRaycaster baseRaycaster)
 {
   if (RaycasterManager.s_Raycasters.Contains(baseRaycaster))
     return;
   RaycasterManager.s_Raycasters.Add(baseRaycaster);
 }