private float DrawTechprintInfo(Rect rect, ResearchProjectDef project) { if (selectedProject.TechprintCount == 0) { return(0f); } float xMin = rect.xMin; float yMin = rect.yMin; string text = "ResearchTechprintsFromFactions".Translate(); float num = Text.CalcHeight(text, rect.width); Widgets.Label(new Rect(rect.x, yMin, rect.width, num), text); rect.x += 6f; if (selectedProject.heldByFactionCategoryTags != null) { foreach (string heldByFactionCategoryTag in selectedProject.heldByFactionCategoryTags) { foreach (Faction item in Find.FactionManager.AllFactionsInViewOrder) { if (item.def.categoryTag == heldByFactionCategoryTag) { string name = item.Name; Rect position = new Rect(rect.x, yMin + num, rect.width, Mathf.Max(24f, Text.CalcHeight(name, rect.width - 24f - 6f))); GUI.BeginGroup(position); Rect r = new Rect(0f, 0f, 24f, 24f).ContractedBy(2f); FactionUIUtility.DrawFactionIconWithTooltip(r, item); Rect rect2 = new Rect(r.xMax + 6f, 0f, position.width - r.width - 6f, position.height); Text.Anchor = TextAnchor.MiddleLeft; Text.WordWrap = false; Widgets.Label(rect2, item.Name); Text.Anchor = TextAnchor.UpperLeft; Text.WordWrap = true; GUI.EndGroup(); num += position.height; } } } } rect.xMin = xMin; return(num); }
private void DoFactionInfo(Rect rect, Faction faction, ref float curX, ref float curY, ref int index) { if (index % 2 == 1) { Widgets.DrawLightHighlight(new Rect(curX, curY, rect.width, 45f)); } FactionUIUtility.DrawFactionIconWithTooltip(new Rect(curX, curY + 5f, 35f, 35f), faction); curX += 45f; Rect rect2 = new Rect(curX, curY, 250f, 45f); Text.Anchor = TextAnchor.MiddleLeft; Widgets.Label(rect2, faction.Name); Text.Anchor = TextAnchor.UpperLeft; curX += 250f; if (Mouse.IsOver(rect2)) { TipSignal tip = new TipSignal(() => faction.Name + "\n\n" + faction.def.description + "\n\n" + faction.PlayerRelationKind.GetLabel().Colorize(faction.PlayerRelationKind.GetColor()), faction.loadID ^ 0x4468077); TooltipHandler.TipRegion(rect2, tip); Widgets.DrawHighlight(rect2); } index++; }