public override void DoWindowContents(Rect inRect)
        {
            if (Current.Game == null)
            {
                throw new InvalidOperationException($"Cannot manage colonist bar if there is no current game.");
            }
            var rect = inRect.ContractedBy(Margin);
            // Avoid overlapping with close button
            const float distFromBottom = 40f;

            rect.height -= distFromBottom;
            var rect4 = new Rect(0, 0, rect.width - 16f, this.viewHeight);

            Widgets.BeginScrollView(rect, ref scrollPosition, rect4, true);
            var rect5 = rect4;

            rect5.width -= 16f;
            rect5.height = 9999f;

            Listing_Standard list = new Listing_Standard()
            {
                ColumnWidth     = rect5.width,
                maxOneColumn    = true,
                verticalSpacing = 6f
            };

            list.Begin(rect5);

            var pawns = ColonistBarUtility.GetColonistBarPawns();

            foreach (var pawn in pawns)
            {
                var pawnRect = list.GetRect(32f);
                AddPawnRow(pawnRect, list, pawn, fromColonistBar);
            }

            if (Event.current.type == EventType.Layout)
            {
                this.viewHeight = list.CurHeight;
            }
            list.End();
            Widgets.EndScrollView();

            // Bottom buttons
            DoBottomButtons(rect, distFromBottom);
        }
        public override void DoWindowContents(Rect inRect)
        {
            var rect = inRect.ContractedBy(Margin);
            // Avoid overlapping with close button
            const float distFromBottom = 40f;

            rect.height -= distFromBottom;
            var rect4 = new Rect(0, 0, rect.width - 16f, this.viewHeight);

            Widgets.BeginScrollView(rect, ref scrollPosition, rect4, true);
            var rect5 = rect4;

            rect5.width -= 16f;
            rect5.height = 9999f;

            Listing_Standard list = new Listing_Standard()
            {
                ColumnWidth     = rect5.width,
                maxOneColumn    = true,
                verticalSpacing = 6f
            };

            list.Begin(rect5);

            var pawns = ColonistBarUtility.GetColonistBarPawns();

            foreach (var pawn in pawns)
            {
                var pawnRect = list.GetRect(6f);
                if (pawn == null)
                {
                    continue;
                }
                AddButton(pawnRect, list, pawn, fromColonistBar);
            }

            if (Event.current.type == EventType.Layout)
            {
                this.viewHeight = list.CurHeight;
            }
            list.End();
            Widgets.EndScrollView();
        }