コード例 #1
0
        /// <summary>
        ///     Performs a raycast in both 2D and 3D. Returns data for the closest collision.
        /// </summary>
        /// <returns>The data for the closest collision.</returns>
        /// <param name="origin">Origin.</param>
        /// <param name="direction">Direction.</param>
        /// <param name="distance">Distance.</param>
        /// <param name="layerMask">Layer mask.</param>
        /// <param name="minDepth">Minimum depth.</param>
        /// <param name="maxDepth">Max depth.</param>
        public static IHitWrapper Raycast2D3D(Vector3 origin, Vector3 direction, float distance, int layerMask, float minDepth,
                                              float maxDepth)
        {
            IHitWrapper hit3d = Raycast3D(origin, direction, distance, layerMask);
            IHitWrapper hit2d = Raycast2D(origin, direction, distance, layerMask, minDepth, maxDepth);

            if (!hit3d.collided)
            {
                return(hit2d);
            }

            if (!hit2d.collided)
            {
                return(hit3d);
            }

            return((hit2d.distance < hit3d.distance) ? hit2d : hit3d);
        }
コード例 #2
0
		/// <summary>
		/// 	Initializes a new instance of the HitWrapperArguments class.
		/// </summary>
		/// <param name="hitWrapper">Hit wrapper.</param>
		public HitWrapperArguments(IHitWrapper hitWrapper)
		{
			m_HitWrapper = hitWrapper;
		}