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); }
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); }