public void DrawAABox3D(EDebugDrawCategory category, float3 min, float3 max, Color colour, float duration = 0.0f)
        {
            if (false == IsCategoryEnabled(category))
            {
                return;
            }

            float3 minXminYmaxZ = new float3(min.x, min.y, max.z);
            float3 minXmaxYminZ = new float3(min.x, max.y, min.z);
            float3 maxXminYminZ = new float3(max.x, min.y, min.z);
            float3 minXmaxYmaxZ = new float3(min.x, max.y, max.z);
            float3 maxXmaxYminZ = new float3(max.x, max.y, min.z);
            float3 maxXminYmaxZ = new float3(max.x, min.y, max.z);

            DrawLine(category, min, minXminYmaxZ, colour, duration);
            DrawLine(category, min, minXmaxYminZ, colour, duration);
            DrawLine(category, min, maxXminYminZ, colour, duration);
            DrawLine(category, max, minXmaxYmaxZ, colour, duration);
            DrawLine(category, max, maxXmaxYminZ, colour, duration);
            DrawLine(category, max, maxXminYmaxZ, colour, duration);
            DrawLine(category, minXmaxYminZ, minXmaxYmaxZ, colour, duration);
            DrawLine(category, minXmaxYminZ, maxXmaxYminZ, colour, duration);
            DrawLine(category, maxXminYmaxZ, minXminYmaxZ, colour, duration);
            DrawLine(category, maxXminYmaxZ, maxXminYminZ, colour, duration);
            DrawLine(category, maxXminYminZ, maxXmaxYminZ, colour, duration);
            DrawLine(category, minXminYmaxZ, minXmaxYmaxZ, colour, duration);
        }
        // ----------------------------------------------------------------------------

        public void DrawLine(EDebugDrawCategory category, float3 from, float3 to, Color colour, float duration = 0.0f)
        {
            if (false == IsCategoryEnabled(category))
            {
                return;
            }

            Debug.DrawLine(from, to, colour, duration);
        }
        public void DrawAABox2D(EDebugDrawCategory category, float2 min, float2 max, Color colour, float duration = 0.0f)
        {
            if (false == IsCategoryEnabled(category))
            {
                return;
            }

            float3 minV3    = new float3(min.x, 0.0f, min.y);
            float3 maxV3    = new float3(max.x, 0.0f, max.y);
            float3 minXmaxY = new float3(min.x, 0.0f, max.y);
            float3 maxXminY = new float3(max.x, 0.0f, min.y);

            DrawLine(category, minV3, minXmaxY, colour, duration);
            DrawLine(category, minV3, maxXminY, colour, duration);
            DrawLine(category, maxV3, minXmaxY, colour, duration);
            DrawLine(category, maxV3, maxXminY, colour, duration);
        }
Exemple #4
0
        public static void DebugDraw(this UniformGrid grid, EDebugDrawCategory category, Color colour, float duration)
        {
            int minX        = grid.m_min.x;
            int maxX        = grid.m_max.x;
            int minY        = grid.m_min.y;
            int maxY        = grid.m_max.y;
            int granularity = grid.m_granularity;

            for (int x = minX; x <= maxX; x += granularity)
            {
                for (int y = minY; y <= maxY; y += granularity)
                {
                    float3 centre = new float3(x, 0.0f, y);

                    // N
                    if (y < maxY)
                    {
                        DebugDrawManager.Instance.DrawLine(category, centre, new float3(x, 0.0f, y + granularity), colour, duration);
                    }

                    // S
                    if (y > minY)
                    {
                        DebugDrawManager.Instance.DrawLine(category, centre, new float3(x, 0.0f, y - granularity), colour, duration);
                    }

                    // E
                    if (x < maxX)
                    {
                        DebugDrawManager.Instance.DrawLine(category, centre, new float3(x + granularity, 0.0f, y), colour, duration);
                    }

                    // W
                    if (x > minX)
                    {
                        DebugDrawManager.Instance.DrawLine(category, centre, new float3(x - granularity, 0.0f, y), colour, duration);
                    }
                }
            }
        }
 public void DisableCategory(EDebugDrawCategory category)
 {
     m_activeCategories &= ~CategoryAsLong(category);
 }
 public void EnableCategory(EDebugDrawCategory category)
 {
     m_activeCategories |= CategoryAsLong(category);
 }
 private bool IsCategoryEnabled(EDebugDrawCategory category)
 {
     return(IsCategoryEnabled(CategoryAsLong(category)));
 }
        // ----------------------------------------------------------------------------

        public static long CategoryAsLong(EDebugDrawCategory category)
        {
            return((long)category);
        }