public void render() { this.Camera.SetAspectFromViewport(); if (!this.NoClear) { Director.Instance.GL.Context.Clear(); } this.Camera.Push(); if ((Director.Instance.DebugFlags & DebugFlags.DrawGrid) != 0u) { float num = this.DrawGridStep; Bounds2 bounds = this.Camera.CalcBounds(); float num2 = (bounds.Size.X > bounds.Size.Y) ? bounds.Size.X : bounds.Size.Y; if (float.IsNaN(num2)) //FIXME added { num = 0f; } else if (num2 == 0f) { num = 0f; } else if (num == -1f) { int num3 = (int)FMath.Floor(FMath.Log(num2 / this.DrawGridAutoStepMaxCells) / FMath.Log(2f)) + 1; num3 = ((num3 < 1) ? 0 : num3); num = (float)(1 << num3); if (num3 > 15) { num = 0f; } } if (num != 0f) { this.Camera.DebugDraw(num); } } this.DrawHierarchy(); if ((Director.Instance.DebugFlags & DebugFlags.DrawContentWorldBounds) != 0u) { this.draw_content_world_bounds(); } this.Camera.Pop(); }