public void OnDrawGizmos()
{
if (this.tr == null)
{
this.tr = base.transform;
}
List <List <IntPoint> > list = ListPool <List <IntPoint> > .Claim();
this.GetContour(list);
Gizmos.color = NavmeshCut.GizmoColor;
Bounds bounds = this.GetBounds();
float y = bounds.min.y;
Vector3 b = Vector3.up * (bounds.max.y - y);
for (int i = 0; i < list.get_Count(); i++)
{
List <IntPoint> list2 = list.get_Item(i);
for (int j = 0; j < list2.get_Count(); j++)
{
Vector3 vector = NavmeshCut.IntPointToV3(list2.get_Item(j));
vector.y = y;
Vector3 vector2 = NavmeshCut.IntPointToV3(list2.get_Item((j + 1) % list2.get_Count()));
vector2.y = y;
Gizmos.DrawLine(vector, vector2);
Gizmos.DrawLine(vector + b, vector2 + b);
Gizmos.DrawLine(vector, vector + b);
Gizmos.DrawLine(vector2, vector2 + b);
}
}
ListPool <List <IntPoint> > .Release(list);
}