public static void DrawInteractionsLog(Rect rect, Pawn pawn, List <LogEntry> entries, int maxEntries)
        {
            float width = rect.width - 29f - 16f - 10f;

            logStrings.Clear();
            float num  = 0f;
            int   num2 = 0;

            for (int i = 0; i < entries.Count; i++)
            {
                if (entries[i].Concerns(pawn))
                {
                    TaggedString taggedString = entries[i].ToGameStringFromPOV(pawn);
                    logStrings.Add(new Pair <string, int>(taggedString, i));
                    num += Mathf.Max(26f, Text.CalcHeight(taggedString, width));
                    num2++;
                    if (num2 >= maxEntries)
                    {
                        break;
                    }
                }
            }
            Widgets.BeginScrollView(viewRect: new Rect(0f, 0f, rect.width - 16f, num), outRect: rect, scrollPosition: ref logScrollPosition);
            float num3 = 0f;

            for (int j = 0; j < logStrings.Count; j++)
            {
                TaggedString taggedString2 = logStrings[j].First;
                LogEntry     entry         = entries[logStrings[j].Second];
                if (entry.Age > 7500)
                {
                    GUI.color = new Color(1f, 1f, 1f, 0.5f);
                }
                float     num4      = Mathf.Max(26f, Text.CalcHeight(taggedString2, width));
                Texture2D texture2D = entry.IconFromPOV(pawn);
                if (texture2D != null)
                {
                    GUI.DrawTexture(new Rect(0f, num3, 26f, 26f), texture2D);
                }
                Rect rect2 = new Rect(29f, num3, width, num4);
                if (Mouse.IsOver(rect2))
                {
                    TooltipHandler.TipRegion(rect2, () => entry.GetTipString(), 613261 + j * 611);
                    Widgets.DrawHighlight(rect2);
                }
                Widgets.Label(rect2, taggedString2);
                if (Widgets.ButtonInvisible(rect2, entry.CanBeClickedFromPOV(pawn)))
                {
                    entry.ClickedFromPOV(pawn);
                }
                GUI.color = Color.white;
                num3     += num4;
            }
            Widgets.EndScrollView();
        }
            public override void Draw(float position, float width, LogDrawData data)
            {
                float height = GetHeight(width);
                float width2 = width - 29f;
                Rect  rect   = new Rect(0f, position, width, height);

                if (log == data.highlightEntry)
                {
                    Widgets.DrawRectFast(rect, new Color(1f, 1f, 1f, HighlightAlpha * data.highlightIntensity));
                    data.highlightIntensity = Mathf.Max(0f, data.highlightIntensity - Time.deltaTime / HighlightDuration);
                }
                else if (data.alternatingBackground)
                {
                    Widgets.DrawRectFast(rect, new Color(1f, 1f, 1f, AlternateAlpha));
                }
                data.alternatingBackground = !data.alternatingBackground;
                TaggedString label = log.ToGameStringFromPOV(pawn);

                Widgets.Label(new Rect(29f, position, width2, height), label);
                Texture2D texture2D = log.IconFromPOV(pawn);

                if (texture2D != null)
                {
                    GUI.DrawTexture(new Rect(0f, position + (height - 26f) / 2f, 26f, 26f), texture2D);
                }
                if (Mouse.IsOver(rect))
                {
                    TooltipHandler.TipRegion(rect, () => log.GetTipString(), 613261 + log.LogID * 2063);
                    Widgets.DrawHighlight(rect);
                }
                if (Widgets.ButtonInvisible(rect, log.CanBeClickedFromPOV(pawn)))
                {
                    log.ClickedFromPOV(pawn);
                }
                if (DebugViewSettings.logCombatLogMouseover && Mouse.IsOver(rect))
                {
                    log.ToGameStringFromPOV(pawn, forceLog: true);
                }
            }