コード例 #1
0
        public static void DrawRays(PlatformRayData p_data)
        {
            #region DebugRays
            //LEFT
            Debug.DrawRay(p_data.LeftPosition, Vector3.left * p_data.OffsetX, Color.red, 10f);
            //LEFT UP
            Debug.DrawRay(p_data.LeftUpPosition, Vector3.up * p_data.OffsetY, Color.red, 10f);
            //LEFT DOWN
            Debug.DrawRay(p_data.LeftDownPosition, Vector3.down * p_data.OffsetY, Color.red, 10f);
            //LEFT LOWER DIAGONAL
            Debug.DrawRay(p_data.LeftDownPosition, new Vector3(-1f, -1f).normalized *p_data.OffsetY, Color.red, 10f);
            //LEFT UPPER DIAGONAL
            Debug.DrawRay(p_data.LeftUpPosition, new Vector3(-1f, 1f).normalized *p_data.OffsetY, Color.red, 10f);

            //RIGHT
            Debug.DrawRay(p_data.RightPosition, Vector3.right * p_data.OffsetX, Color.red, 10f);
            //RIGHT UP
            Debug.DrawRay(p_data.RightUpPosition, Vector3.up * p_data.OffsetY, Color.red, 10f);
            //RIGHT DOWN
            Debug.DrawRay(p_data.RightDownPosition, Vector3.down * p_data.OffsetY, Color.red, 10f);
            //RIGHT LOWER DIAGONAL
            Debug.DrawRay(p_data.RightDownPosition, new Vector3(1f, -1f).normalized *p_data.OffsetY, Color.red, 10f);
            //RIGHT UPPER DIAGONAL
            Debug.DrawRay(p_data.RightUpPosition, new Vector3(1f, 1f).normalized *p_data.OffsetY, Color.red, 10f);

            //MIDDLE UP
            Debug.DrawRay(p_data.UpPosition, Vector3.up * p_data.OffsetY, Color.red, 10f);
            //MIDDLE DOWN
            Debug.DrawRay(p_data.DownPosition, Vector3.down * p_data.OffsetY, Color.red, 10f);

            #endregion
        }
コード例 #2
0
 public PlatformRayData(PlatformRayData p_data)
 {
     LeftPosition      = p_data.LeftPosition;
     LeftUpPosition    = p_data.LeftUpPosition;
     LeftDownPosition  = p_data.LeftDownPosition;
     RightPosition     = p_data.RightPosition;
     RightUpPosition   = p_data.RightUpPosition;
     RightDownPosition = p_data.RightDownPosition;
     UpPosition        = p_data.UpPosition;
     DownPosition      = p_data.DownPosition;
     OffsetX           = p_data.OffsetX;
     OffsetY           = p_data.OffsetY;
 }
コード例 #3
0
        public static void FireRay(PlatformRayData p_data)
        {
            #region  LEFT
            //LEFT
            var inSightLeft =
                Physics2D.RaycastAll(p_data.LeftPosition, Vector3.left, p_data.OffsetX);
            //LEFT UP
            var inSightUpLeft =
                Physics2D.RaycastAll(p_data.LeftUpPosition, Vector3.up, p_data.OffsetY);
            //LEFT DOWN
            var inSightDownLeft =
                Physics2D.RaycastAll(p_data.LeftDownPosition, Vector3.down, p_data.OffsetY);
            //LEFT DIAGONAL DOWN
            var inSightDiagonalDownLeft =
                Physics2D.RaycastAll(p_data.LeftDownPosition, VectorUtils.DiagonalDownLeft, p_data.OffsetY);
            //LEFT DIAGONAL RaycastAll
            var inSightDiagonalUpLeft =
                Physics2D.RaycastAll(p_data.LeftUpPosition, VectorUtils.DiagonalUpLeft, p_data.OffsetY);
            #endregion

            #region  RIGHT
            //RIGHT
            var inSightRight
                = Physics2D.RaycastAll(p_data.RightPosition, Vector3.right, p_data.OffsetX);
            //RIGHT UP
            var inSightUpRight
                = Physics2D.RaycastAll(p_data.RightUpPosition, Vector3.up, p_data.OffsetY);
            //RIGHT DOWN
            var inSightDownRight
                = Physics2D.RaycastAll(p_data.RightDownPosition, Vector3.down, p_data.OffsetY);
            //LEFT DIAGONAL DOWN
            var inSightDiagonalDownRight
                = Physics2D.RaycastAll(p_data.RightDownPosition, VectorUtils.DiagonalDownRight, p_data.OffsetY);
            //LEFT DIAGONAL UP
            var inSightDiagonalUpRight
                = Physics2D.RaycastAll(p_data.RightUpPosition, VectorUtils.DiagonalUpRight, p_data.OffsetY);
            #endregion

            #region MIDDLE
            var inSightUp
                = Physics2D.RaycastAll(p_data.UpPosition, Vector3.up, p_data.OffsetY);
            var inSightDown
                = Physics2D.RaycastAll(p_data.DownPosition, Vector3.down, p_data.OffsetY);
            #endregion

            Debug.Log($"LEFT: {inSightLeft.Length} LEFT UP: {inSightUpLeft.Length} LEFT DOWN: {inSightDownLeft.Length} LEFT DIAGONAL UP: {inSightDiagonalUpLeft.Length} LEFT DIAGONAL DOWN: {inSightDiagonalDownLeft.Length}");
            Debug.Log($"RIGHT: {inSightRight.Length} RIGHT UP: {inSightUpRight.Length} " +
                      $"RIGHT DOWN: {inSightDownRight.Length} RIGHT DIAGONAL UP: {inSightDiagonalUpRight.Length} RIGHT DIAGONAL DOWN: {inSightDiagonalDownRight.Length}");
        }